matlab GA函数的调用问题 20

这是函数f1functions=f1(x,y,z)s=0.5*x*y*sin(z+asin(y/x*sin(z)))+0.5*(1000-x)*y*sin(2*pi/3-... 这是函数f1
function s = f1( x,y,z )
s=0.5*x*y*sin(z+asin(y/x*sin(z)))+0.5*(1000-x)*y*sin(2*pi/3-z+asin((y/(1000-x))*sin(2*pi/3-z)));
end

然后在命令窗口:
clear all
>> A=[];b=[];lb=zeros(3,1);
ub=[1000;1000;2*pi/3];
[x,fval]=ga(@f1,3,A,b,[],[],lb,ub);

求问这时为什么错啊。。。感谢大神
展开
 我来答
cheng6211
2013-08-29 · TA获得超过357个赞
知道小有建树答主
回答量:192
采纳率:100%
帮助的人:88.9万
展开全部

这个 end 是干什么的!!!

eflen
2013-09-03 · TA获得超过560个赞
知道小有建树答主
回答量:340
采纳率:100%
帮助的人:340万
展开全部
ga的自变量需要写成向量的形式

function s = f1( x )
s=0.5*x(1)*x(2)*sin(x(3)+asin(x(2)/x(1)*sin(x(3))))+0.5*(1000-x(1))*x(2)*sin(2*pi/3-x(3)+asin((x(2)/(1000-x(1)))*sin(2*pi/3-x(3))));

个人推荐使用句柄函数简化
f1=@(x)0.5*x(1)*x(2)*sin(x(3)+asin(x(2)/x(1)*sin(x(3))))+0.5*(1000-x(1))*x(2)*sin(2*pi/3-x(3)+asin((x(2)/(1000-x(1)))*sin(2*pi/3-x(3))));
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式