请教关于用Matlab在非线性约束条件下的最优解 10

在以下约束条件下cos(5*x)+cos(5*y)+cos(5*z)+cos(5*m)=0;cos(7*x)+cos(7*y)+cos(7*z)+cos(7*m)=0;c... 在以下约束条件下
cos(5*x)+cos(5*y)+cos(5*z)+cos(5*m)=0;
cos(7*x)+cos(7*y)+cos(7*z)+cos(7*m)=0;
cos(11*x)+cos(11*y)+cos(11*z)+cos(11*m)=0;
使M=cos(x)+cos(y)+cos(z)+cos(m)最大的求法,想通过Matlab最优化处理,可不知道如何实现?看了一些例子都是关于x,y等的约束,可我不知道怎么实现在cosnx(n=6k+1和n=6k-1)组成的方程组的约束下的最优解。
能不能详细讲讲呢?我对用Matlab中的遗传算法不熟悉,谢谢
展开
 我来答
yjymzx
2012-01-18 · TA获得超过182个赞
知道小有建树答主
回答量:136
采纳率:0%
帮助的人:124万
展开全部
这种简单的问题,不需要用遗传算法
M文件:
function f = fun1(x)
f = -cos(x(1))-cos(x(2))-cos(x(3))-cos(x(4));

function [c, ceq] = fun2(x)
c = [];
ceq = [cos(5*x(1))+cos(5*x(2))+cos(5*x(3))+cos(5*x(4));
cos(7*x(1))+cos(7*x(2))+cos(7*x(3))+cos(7*x(4));
cos(11*x(1))+cos(11*x(2))+cos(11*x(3))+cos(11*x(4))];

在matlab命令窗口中输入:
clear all;
[x,fval]=fmincon(@fun1,rand(4,1),[],[],[],[],[],[],@fun2)
fqsword
2012-01-13
知道答主
回答量:10
采纳率:0%
帮助的人:1.5万
展开全部
可采用惩罚函数法,求最大值的话,对于不满足约束的解,将其M值赋一很小的值。然后采用无约束问题的优化方法求解。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
domonate
2012-01-13 · TA获得超过627个赞
知道小有建树答主
回答量:424
采纳率:100%
帮助的人:481万
展开全部
可以用遗传算法来做,matlab7.1后的版本都有这个功能了!
还有一些其他的优化函数可以调用,都是可以的!
我的腾讯联系方式,散坝而要龄要伞流午
追问
能不能详细讲讲呢,我对遗传算法不了解
追答
你的matlab里面运行help ga里面有算法和例子,可以自己看一下!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式