作业帮 > 数学 > 作业

Matlab 求函数最小值

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:数学作业 时间:2024/04/29 11:17:34
Matlab 求函数最小值
求函数:f(X)=0.589x(2)^3(x(3)+2)[(60x(1)+2+6/(x(1)+2))^2-(60x(1)-6.4)^2]的最小值
约束条件:
x(1)-1大于等于0;80-60x(1)大于等于0;18-x(2)大于等于0;x(2)-2大于等于0;16-x(3)大于等于0;x(3)-8大于等于0;x(2)^3x(3)-38066/(x(1)^2)大于等于0;5390x(2)^5(x(3)-2.4)^4-1514300乘以根号(2.3889((x(1)/x(3))^2)+0.132474)大于等于0;4-x(1)大于等于0;60x(1)-30大于等于0
初始点X0=[1,5,10]
请大伙写好后以压缩文件的格式发给我,里面要包含所有的东西也就是一个《从未接触》MATLAB的人看到你写的步骤后要自己可以再做一次出来.约束条件中某些变量的范围我可能会因需要改一改的 请也写清楚怎么改.我用的MATLAB6.5的 验收后加分财富值30(毕业设计需要 绝对真实)
Matlab 求函数最小值
你能不能把你的条件(7)(8)的非线性约束条件合并成一个非线性约束条件?
再问: 这个似乎不能合成的 请仔细看看 谢谢
再答: 你确保你的约束条件没有问题,我编写了一下,得出结果如下: x = 1.5521 18.2188 16.2188 fval = -4.8189e+008; 但这是不符合你前面的约束条件的,当然你的不等式约束条件,我加入程序了; 经过再三修改,终于给你解决了问题,附程序如下:(给不给分就是你的良心问题了) 程序: 第一步:首先定义一个M函数如下,并保存成nonlcon.m文件 function [c ceq]=nonlcon(x)%两个非线性不等式条件 c(1)=38066-x(1)^2*x(2)^3*x(3); c(2)=1514300*sqrt(2.3889*(x(1)/x(3))^2+0.132474)-5390*x(2)^5*(x(3)-2.4)^4; ceq=[]; 第二步:新建一个m文件,写下面的程序(建m文件的目的方便以后修改参数,不建议直接在命令窗口中使用) myfun=@(x)0.589*x(2)^3*(x(3)+2)*((60*x(1)+2+6/(x(1)+2))^2-(60*x(1)-6.4)^2);%目标函数 x0=[1 5 10];%初始条件 A=[];b=[];Aeq=[];beq=[]; lb=[1 2 8];ub=[4/3 18 16];%前面的线性不等式约束 [x,fval]=fmincon(myfun,x0,A,b,Aeq,beq,lb,ub,@nonlcon)%求解 最终结果: x = 1.3333 11.0287 15.9619 fval = 2.2785e+007 解答完毕。另外你最后的两个约束条件,和前面的三个一合并,相当于没有。
再问: 兄弟,再麻烦你一下 可不可以以文件的形式发给我,要具体步骤啊 因为我还要编写具体步骤的,包括截图等等,所以希望你能耐心的把步骤方法写给我 然后发邮件我啊 多谢 在线等
再答: 这没有截图,直接编写成M文件,直接在Matlab的界面中运行就出结果了,这是用Matlab自己的求极值的算法。如果你们要设计算法,那我就无能为力了。上面写的已经很清楚了,你自己花几分钟按我说的一拷贝到Matlab中,就出来了,不至于Matlab我还要教你怎么安装,操作吧。 既然是毕设,你自己还是要下点功夫的! 早知道你这同学如此,不会给你费时间求解。
再问: 自己已经解决。MATLAB优化只是其中的一部分,一小部分。一个某种型号的蜗轮蜗杆减速器的全部CAD二维图,PROE三维图,以及虚拟装配,运动仿真等全部是自己做出来的。再加上设计计算,标准选用,word文档编制排版等完成后已经是离答辩前20天,唯一留下的就是自己不会的MATLAB,试问在这种状况下再来学习MATLAB的可操作性有多大?关于在毕业设计方面付出的辛劳和汗水有多少,我自己清楚,这里说一下只是不容许别人侮辱我的劳动成果