楼主: sllhappy0729
1282 3

一个很简单的循环问题 [推广有奖]

  • 0关注
  • 0粉丝

硕士生

54%

还不是VIP/贵宾

-

威望
0
论坛币
48 个
通用积分
0.0023
学术水平
2 点
热心指数
1 点
信用等级
0 点
经验
7894 点
帖子
75
精华
0
在线时间
229 小时
注册时间
2008-11-5
最后登录
2020-10-28

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菜鸟,求指导,谢谢!

关键词:fminsearch function search MATLAB matla function matlab 如何
沙发
sllhappy0729 发表于 2010-12-1 14:20:48 |只看作者 |坛友微信交流群
这个我自己琢磨出来了,你们不用回答了,谢谢!

使用道具

藤椅
jswoo 发表于 2010-12-1 14:50:22 |只看作者 |坛友微信交流群
在function P=sll(x)里边,因为你的R值取值是有一定的规律的,那就把R值做一个简单的for取值循环,每次循环一次,得出一个结果。

使用道具

板凳
laoguanr 发表于 2010-12-10 12:33:44 |只看作者 |坛友微信交流群
L=10;  %向量r的长度
for i=1:L
      r(i)=2^(-i+1);
end
天行健,君子以自强不息

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

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

GMT+8, 2024-6-14 21:38