[2018年最新整理]优化与曲线拟合与插值.docVIP

  • 5
  • 0
  • 约1.02万字
  • 约 15页
  • 2018-04-14 发布于浙江
  • 举报

[2018年最新整理]优化与曲线拟合与插值.doc

[2018年最新整理]优化与曲线拟合与插值

MatLab 数学建模 授课: 唐 静 波 (九江学院理学院) 第五讲 数值计算(二) 线性优化 用命令x=lp(C,A,b,vlb,vub)。 [例] 最小值线性优化 f(x)=-5x1-4x2-6x3 x1-x2+x3≦20 3x1+2x2+4x3≦42 3x1+2x2≦30 (0≦x1, 0≦x2,0≦x3) First, enter the coefficients: f = [-5; -4; -6] A = [1 -1 1 3 2 4 3 2 0]; b = [20; 42; 30]; lb = [0,0,0]; % x的最小值 [0,0,0] ub = [inf,inf,inf]; Next, call a linear programming routine: x= lp(f,A,b,lb,ub); Entering x x = 0.0000 15.0000 3.0000 实际此命令改为: x = linprog(f,A,b,Aeq,beq) x = linprog(f,A,b,Aeq,beq,lb,ub) 对以上的问题可做如下的操作: First, enter the coefficients: f = [-5; -4; -6]; A = [1 -1 1 3 2 4 3 2 0]; b = [20; 42; 30]; lb = zeros(3,1); Next, call a linear programming routine: [x,fval,exitflag,output,lambda] = linprog(f,A,b,[],[],lb); x = 0.0000 15.0000 3.0000 fval = -78.0000 exitflag = 1 output = iterations: 6 cgiterations: 0 algorithm: lipsol lambda = ineqlin: [3x1 double] eqlin: [0x1 double] upper: [3x1 double] lower: [3x1 double] [例] 线性优化 Min -400x1-1000x2-300x3+200x4 -2x2 + x3 + x4=0 2x1 +3x2 =16 3x1 +4x2 =24 x1, x2, x3, x4=0; x3=5 c=[-400,-1000,-300,200]; %目标函数系数 A=[0 -2 1 1; 2 3 0 0; 3 4 0 0]; %约束条件系数 b=[0; 16; 24]; xLB=[0,0,0,0]; % x取值范围的最小值 xUB=[inf,inf,5,inf]; % x取值范围的最大值 x0=[0,0,0,0]; % x取迭代初始值 nEq=1; % 约束条件中只有一个 = 号,其余为= x=lp(c,A,b,xLB,xUB,x0,nEq) disp([最优值为: ,num2str(c*x)]) 结果: x = 3.4483 3.0345 5.0000 1.0690 最优值为 -5700 非线性优化 用命令x=constr(f ,x0)。 [例] 最小值非线性优化 Min f(x)=-x1x2x3, -x1-2x2-2x3≤0, x1+2x2+2x3≤72, 初值: x = [10; 10; 10] 第一步:编写M文件 myfun.m function [f,g]=myfun(x) f=-x(1)*x(2)*x(3); g(1)=-x(1)-2*x(2)-2*x(3); g(2)=x(1)+2*x(2)+2*x(3)-72; 第二步:求解 在MATLAB工作窗中键入 x0=[10,10,10]; x=constr(myfun,x0)即可. x = 24.0000 12.0000 12.0000 [例] 非线性优化 Min f(x)=-x1x2 (x1+ x2)x3=0; x1, x2=0; x3=2; 第一步:编写M文件 fxxgh.m function [F,G]

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档