建模培训(Matlab的使用).ppt

  1. 1、本文档共71页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
建模培训(Matlab的使用)

2、有约束问题求解 模型: 求一组x ( x=[x1,x2,…,xn]T)使得目标函数f(x)为最小,且x满足约束条件G(x)≤0. 约束条件可表示为: 线性不等式约束:Ax ≤b 线性等式约束:Aeqx =beq 非线性不等式约束:Cx ≤b, 非线性等式约束: Ceqx =0 X的上界和下界:Lbnd ≤x ≤ Ubng Matlab优化工具箱提供了解各种约束下的最优化问题。 格式: [x,fval]=fmincon(@fname,x0,A,b,Aeq,beq,Lbnd,Ubnd,NonF,options) 求目标函数在x0附近满足约束条件的极小值点和极小值 A,b:构成线性不等式约束 Aeq,beq:线性等式约束 Lbnd,Ubnd:x的上下界 常用: [x,fval]=fmincon(@fname,x0,A,b) [x,fval]=fmincon(@fname,x0,A,b,[],[],Lbnd,Ubnd) 例:设 求解有约束最优化问题: 解: (1)编写目标函数文件fop.mat,命令如下: function f=fop(x) f=0.4*x(2)+x(1)^2+x(2)^2-x(1)*x(2)+1/30*x(1)^3; (2) 设定约束条件,并调用fmincon求解。 x0=[0.5;0.5]; %列向量 A=[-1,-0.5;-0.5,-1]; b=[-0.4;-0.5]; lb=[0;0]; %列向量 options=optimset(Display,off); [x,f]=fmincon(@fop,x0,A,b,[],[],lb,[],[],options) 3、线性规划问题求解 线性规划问题是研究线性约束条件下线性目标函数极值问题的数学理论和方法。 线性规划问题的标准形式为: 在Matlab中求解线性规划问题使用函数linprog,格式为 [x,fval] = linprog(f,A,b,Aeq,beq,lb,ub) x为最优解,fval为目标函数的最优值,f为目标函数的系数向量。 例:求解线性规划问题: 解: f=[2;1]; A=[-3,-1;-4,-3;-1,-2]; b=[-3;-6;-2]; lb=[0;0]; [x,fval]=linprog(f,A,b,[],[],lb) x = 0.6000 1.2000 fval = 2.4000 2006年B题 分析数据,求第0、4、8、24、40周CD4平均值。 % z=load(z1.txt); s=zeros(1,5); n=zeros(1,5); for i=1:length(z) if(z(i,2)==0 |z(i,2)==1) s(1)=s(1)+z(i,3);n(1)=n(1)+1; elseif (z(i,2)=2 z(i,2)=6) s(2)=s(2)+z(i,3);n(2)=n(2)+1; elseif(z(i,2)=7z(i,2)=13) s(3)=s(3)+z(i,3);n(3)=n(3)+1; elseif(z(i,2)=14 z(i,2)=32) s(4)=s(4)+z(i,3);n(4)=n(4)+1; elseif z(i,2)32 s(5)=s(5)+z(i,3);n(5)=n(5)+1; end end t=[0,s(1)/n(1);4,s(2)/n(2);8,s(3)/n(3);24,s(4)/n(4);40,s(5)/n(5)]; disp(t) 2006年B题 将t中数据描点,确定拟合多项式的界数 plot(t(:,1),t(:,2)) 拟合多项式的界数可取2 求拟合多项式,画图观察 polyfit(t(:,1),t(:,2),2) 得:-0.1051 6.1127 99.3857 f=@(x)(-0.1051*x^2+6.1127*x+99.3857) ezplot(f,[0,40]) 观察得30左右有一个最大值。 求极大值 f=@(x)-1*(-0.1051*x^2+6.1127*x+99.3857) [x,y]=fminbnd(f,20,30) x = 29.0804 y = -188.2656 给出结论 01年数学建模A题 str1=sprintf(W%02d.txt,0:99); str2=reshape(str1,7,100); filename=str2; x=[];y=[];z=[]; for i=1:100 ls=load(filename(i,:)); ls(1,3)=0

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档