CAD教程 行业资讯 3D模型下载 Pro/E教程 CAD书店 软件下载 联系我们
技术资料 CAD招聘 发布招聘 CAD问答 设计竞赛 CAD认证 北京CAD培训
视频教程 PS教程 CAD图纸 图书推荐 Solidworks教程 CAD培训 CAD软件商

 最新视频教程Pro/ENGINEER Wildfire2.0 工业设计实例视频教程 (全套免费在线学习)   AutoCAD视频教程每日更新
 
首页 > CAD在线问答 > matlab

matlab 线性规划

2010-10-28 51自学网



用matlab可以解决这个问题吗:有f1(x1,x2,x3,x4),......,fn(x1,x2,x3,x4) n个函数式,约束条件是任意2个函数之差(也是关于x1,x2,x3,x4)小于常熟C.我的意思是这样的约束条件应该怎么输入谢谢 syhjjhpy@163.com 希望可以给我资料

约束条件Matlab下输入:edit opt_con1.m,将下述两行百分号间复制进去,并保存%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%function [c,ceq]=opt_con1(x)n=4; %你的f的个数f=zeros(1,n);f(1)=x(1)+x(2)+x(3)+x(4);f(2)=x(1)+2*x(2)-3*x(3)+4*x(4);f(3)=sqrt(abs(x(1)*x(1)-x(2)*x(2)+x(3)*x(3)-x(4)*x(4)));f(4)=sqrt(abs(x(1)*x(1)+x(2)*x(2)-x(3)*x(3)-x(4)*x(4)));c=[];Const=15; %你所谓的常数Cfor i=1:n for j=i+1:n c=[c;f(i)-f(j)-Const]; endendceq = [];%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%目标函数Matlab下输入:edit opt_fun1.m,将下述两行百分号间复制进去,并保存%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%function y=opt_fun1(x) y=x(1)*x(2)-x(3)*x(4);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%在Matlab下输入:x0=[1;1;1;1]; %x1,x2,x3,x4初值xm=[1;1;1;1]; %x1,x2,x3,x4最小值xM=[10;10;10;10]; %x1,x2,x3,x4最大值,如果是无穷大的话,用infA=[]; %线性约束的矩阵B=[]; %线性约束的右边项Aeq=[]; %等式约束Beq=[];[x,f_opt,c,d]=fmincon('opt_fun1',x0,A,B,Aeq,Beq,xm,xM, 'opt_con1');x,f_opt,c %注意,当c>0时才收敛。%fmincon的用法,我发了一点点资料给你。你到邮箱看一下吧。



 

 

我遇到过的最难matlab题!!!!!
求助MATLAB高手?!
我来回答 共有条 回答
用户名: 密码:
验证码: 匿名发表
| AutoCAD | Pro/E | UG | 3Dmax | catia | solidworks | maya | photoshop | 模具设计 | 有限元 | matlab | 计算机图形学 | 室内设计 |