好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

数学建模实验答案_简单的优化模型..doc

17页
  • 卖家[上传人]:我**
  • 文档编号:113927063
  • 上传时间:2019-11-10
  • 文档格式:DOC
  • 文档大小:1.38MB
  • / 17 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 实验03 简单的优化模型(2学时)(第3章 简单的优化模型)1. 生猪的出售时机p63~65目标函数(生猪出售纯利润,元):Q(t) = ( 8 – gt )( 80 + rt ) – 4t – 640其中,t ≥ 0为第几天出售,g为每天价格降低值(常数,元/公斤),r为每天生猪体重增加值(常数,公斤)求t使Q(t)最大1.1(求解)模型求解p63(1) 图解法绘制目标函数Q(t) = ( 8 – gt )( 80 + rt ) – 4t – 640的图形(0 ≤ t ≤ 20)其中, g=0.1, r=2从图形上可看出曲线Q(t)的最大值2) 代数法对目标函数Q(t) = ( 8 – gt )( 80 + rt ) – 4t – 640用MATLAB求t使Q(t)最大其中,r, g是待定参数先对Q(t)进行符号函数求导,对导函数进行符号代数方程求解)然后将代入g=0.1, r=2,计算最大值时的t和Q(t)要求:① 编写程序绘制题(1)图形② 编程求解题(2).③对照教材p63相关内容相关的MATLAB函数见提示★ 要求①的程序和运行结果:程序:t=0:1:30;g=0.1;r=2;Q=(8-g.*t).*(80+r.*t)-4.*t-640;plot(t,Q)图形:★ 要求②的程序和运行结果:程序:syms g t r ;Q=(8-g.*t).*(80+r.*t)-4.*t-640;q=diff(Q,t);q=solve(q);g=0.1;r=2;tm=eval(q)Q=(8-g.*tm).*(80+r.*tm)-4.*tm-640运行结果: 1.2(编程)模型解的的敏感性分析p63~64对1.1中(2)所求得的符号表达式t(r,g),分别对g和r进行敏感性分析。

      1) 取g=0.1,对t(r)在r=1.5:0.1:3上求r与t的关系数据,绘制r与t的关系图形(见教材p65)2) 取r=2,对t(g)在g=0.06:0.01:0.15上求g与t的关系数据,绘制g与t的关系图形(见教材p65)要求:分别编写(1)和(2)的程序,调试运行★ 给出(1)的程序及运行结果:程序:syms g t r ;Q=(8-g.*t).*(80+r.*t)-4.*t-640;q=diff(Q,t);q=solve(q);g=0.1;r=1.5:0.1:3;t=eval(q);plot(r,t)[r;t]数值结果:图形结果:★ 给出(2)的程序及运行结果:程序:syms g t r;Q=(8-g.*t).*(80+r.*t)-4.*t-640;q=diff(Q,t);q=solve(q);r=2;g=0.06:0.01:0.15;t=eval(q);plot(g,t)[g;t]数值结果:图形结果:2.(编程)冰山运输模型求解p77~81按函数调用顺序1) 每立方米水所需费用u为船速,V0为冰山的初始体积2) 冰山运抵目的地后可获得水的体积为冰山抵达目的地所需天数3) 第t天冰山球面半径融化速率:(4) 运送冰山费用为冰山抵达目的地所需天数。

      5) 船的日租金参照教材p81的表4,求不同V0,u下每立方米水的费用下面是不完整的MATLAB程序:function y=mainfun()clc;VV0=[10^7 5*10^6 10^6];%冰山的初始体积,3种uu=[3 3.5 4 4.5 5];%船速,5种y=zeros(length(VV0), length(uu));%初始化for i=1:length(VV0) for j=1:length(uu) y(i,j)=Y(uu(j),VV0(i)); endendy=round(10000*y)/10000;%四舍五入取整取小数点后4位数字%以下函数的输入输出均为标量function y=Y(u,V0) %(1)y=S(u,V0)/W(u,V0);function y=W(u,V0)%(2) 编写该程序function y=r(t,u)%(3)if t>=0&&t<=1000/6/u y=1.56*10^(-3)*u*(1+0.4*u)*t;elseif t>1000/6/u y=0.2*(1+0.4*u);else error('k不能小于0!');%显示出错信息并退出运行endfunction y=S(u,V0)%(4)T=400/u;y=0;for t=1:T rr=(3*V0/4/pi)^(1/3); for k=1:t rr=rr-r(k,u); end y=y+log10(rr);endy=400*f(V0)/u+7.2*u*(u+6)*(3*y-151/u);function y=f(V0)%(5) 编写该程序要求:① 编写所要求的程序。

      ② 运行注:第一个函数为主函数,没有输入参数,可直接执行③ 结果与教材p81表4比较★ 完整的程序:function y=mainfun()VV0=[10^7 5*10^6 10^6];uu=[3 3.5 4 4.5 5];y=zeros(length(VV0), length(uu));for i=1:length(VV0) for j=1:length(uu) y(i,j)=Y(uu(j),VV0(i)); endendy=round(10000*y)/10000;function y=Y(u,V0) %(1)y=S(u,V0)/W(u,V0);function y=W(u,V0)%(2) 编写该程序T=400/u;rr=0;for t=1:T rr=rr+r(t,u);endy=3.4*pi/3*(((3*V0)/(4*pi))^(1/3)-rr)^3;function y=r(t,u)%(3)if t>=0&&t<=1000/6/u y=1.56*10^(-3)*u*(1+0.4*u)*t;elseif t>1000/6/u y=0.2*(1+0.4*u);else error('k不能小于0!')endfunction y=S(u,V0)%(4)T=400/u;y=0;for t=1:T rr=(3*V0/4/pi)^(1/3); for k=1:t rr=rr-r(k,u); end y=y+log10(rr);endy=400*f(V0)/u+7.2*u*(u+6)*(3*y-151/u);function y=f(V0)%(5) 编写该程序if V0<=5*10^5 y=4.0;elseif V0>5*10^5&&V0<=10^6 y=6.2;elseif V0>10^6&&V0<=10^7 y=8.0;else error(' k超出取值范围!');end★ 程序运行结果:附1:实验提示第1.1题MATLAB函数:@,fplot,syms,sym,diff,solve,eval创建函数句柄符号 @绘制函数图函数 fplot定义多个符号对象命令 syms生成符号对象函数 sym微分函数 diff代数方程的符号求解函数 solve符号表达式赋值函数 eval把表达式或语句表示成一个字符串s,eval(s)先把s转换回表达式或语句,再执行。

      附2:第3章 简单的优化模型3.2 生猪的出售时机3.7 冰山运输18。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.