全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
1446 3
2010-12-01
悬赏 5 个论坛币 未解决
我需要做这样一件事情:
有下面这个函数
P=x(1)+x(2)-r*log(-x(1)^2+x(2))-r*log(x(1));
其中在r取1, 1/2, 1/4, 1/8, 1/16 ……等不同值情况下利用fminsearch()去求最小值。

我定义了如下函数
function P=sll(x)
  r=1;
  P=x(1)+x(2)-r*log(-x(1)^2+x(2))-r*log(x(1));

然后调用x=fminsearch(@sll,[0.5,1])可以得到一个最小值,但是,我如何改变r的值来求不同r下面的最小值?

我是matlab菜鸟,求指导,谢谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2010-12-1 14:20:48
这个我自己琢磨出来了,你们不用回答了,谢谢!
二维码

扫码加我 拉你入群

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

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

2010-12-1 14:50:22
在function P=sll(x)里边,因为你的R值取值是有一定的规律的,那就把R值做一个简单的for取值循环,每次循环一次,得出一个结果。
二维码

扫码加我 拉你入群

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

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

2010-12-10 12:33:44
L=10;  %向量r的长度
for i=1:L
      r(i)=2^(-i+1);
end
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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