楼主: jerryfeng84
819 7

matlab小问题求助 [推广有奖]

  • 4关注
  • 0粉丝

讲师

2%

还不是VIP/贵宾

-

威望
0
论坛币
365 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
7647 点
帖子
252
精华
0
在线时间
972 小时
注册时间
2007-12-28
最后登录
2024-5-14

10论坛币
我的程序是
function f= gh_log_fun( para,num,x);
mean=para(1,1);std=para(1,2);
y=1/sqrt(2*pi)/std*exp(-(x-mean).^2/2/std^2);
if num==1
f=log(y);
else
f=-sum(log(y));
end
以上是保存在my_mle.m文件中
注x是观测数据(最大似然法估计正态分布的均值和方差)
在命令窗口输入[para]=my_mle('gh_log_fun',[0.5;0;0;1;1],x)

para =

   6.9551e+03 结果只有一个参数估计量 我的正态分布明明有两个参数需要估计
在命令窗口输入[para,standard_deviation]=my_mle('gh_log_fun',[0.5;0;0;1;1],x)  就会出现输出参数太多的错误提示



请各位帮忙解决

关键词:MATLAB matla atlab Atl 小问题 matlab
沙发
臻小言 发表于 2013-9-4 16:57:40 |只看作者 |坛友微信交流群
按道理应该是输出para和标准差的这两个值的

使用道具

藤椅
jerryfeng84 在职认证  发表于 2013-9-4 20:21:14 |只看作者 |坛友微信交流群
臻小言 发表于 2013-9-4 16:57
按道理应该是输出para和标准差的这两个值的
是啊 所以我很迷茫 望解答

使用道具

板凳
臻小言 发表于 2013-9-5 07:36:55 |只看作者 |坛友微信交流群
jerryfeng84 发表于 2013-9-4 20:21
是啊 所以我很迷茫 望解答
你试试这个式子[mean,std]=my_mle('gh_log_fun',[0.5;0;0;1;1],x)

使用道具

报纸
jerryfeng84 在职认证  发表于 2013-9-5 11:47:42 |只看作者 |坛友微信交流群
臻小言 发表于 2013-9-5 07:36
你试试这个式子[mean,std]=my_mle('gh_log_fun',[0.5;0;0;1;1],x)
结果还是那样 而且如果加std的话 就会提示输出变量太多 难道是我的matlab版本有问题? 你的蔻蔻是多少啊 我们交流一下

使用道具

地板
臻小言 发表于 2013-9-5 12:05:24 |只看作者 |坛友微信交流群
jerryfeng84 发表于 2013-9-5 11:47
结果还是那样 而且如果加std的话 就会提示输出变量太多 难道是我的matlab版本有问题? 你的蔻蔻是多少啊  ...
我的版本是2011a,不知道是不是工具箱不全,或者版本低没有进行工具箱的升级

使用道具

7
jerryfeng84 在职认证  发表于 2013-9-5 14:00:45 |只看作者 |坛友微信交流群
臻小言 发表于 2013-9-5 12:05
我的版本是2011a,不知道是不是工具箱不全,或者版本低没有进行工具箱的升级
你试试我的程序在你的matlab上能不能出两个结果 我的是2012a

使用道具

8
24578901 在职认证  发表于 2013-9-11 12:28:51 |只看作者 |坛友微信交流群
返回值只有一个f,这样用[mean,std]=my_mle('gh_log_fun',[0.5;0;0;1;1],x)当然报错

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加JingGuanBbs
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-17 23:07