全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 悬赏大厅
967 7
2013-09-04
悬赏 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)  就会出现输出参数太多的错误提示



请各位帮忙解决

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-9-4 16:57:40
按道理应该是输出para和标准差的这两个值的
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

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)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

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,不知道是不是工具箱不全,或者版本低没有进行工具箱的升级
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群