1 / 19

问题: 一个建筑公司计划建三类楼房 A 类 B 类 C 类 投资(万元 / 栋): 150 90 60

问题: 一个建筑公司计划建三类楼房 A 类 B 类 C 类 投资(万元 / 栋): 150 90 60 售价(万元 / 栋): 270 170 110 现在要求每类房至少建一栋,但不超过 5 栋;总资本 为 1250 万 . 问如何确定建楼方案,能获得最大利润. 分析: 可以用“穷举法”,即 step1 三类楼房数量 a,b,c 分别为 1-5 1.1 计算出每种方案总投资, <=1250 万为有效方案 ; 1.1.1 计算总利润,记录相应方案;

drago
Télécharger la présentation

问题: 一个建筑公司计划建三类楼房 A 类 B 类 C 类 投资(万元 / 栋): 150 90 60

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 问题:一个建筑公司计划建三类楼房 • A类 B类 C类 • 投资(万元/栋): 150 90 60 • 售价(万元/栋): 270 170 110 • 现在要求每类房至少建一栋,但不超过5栋;总资本 • 为1250万. 问如何确定建楼方案,能获得最大利润. 分析:可以用“穷举法”,即 step1三类楼房数量a,b,c分别为1-5 1.1计算出每种方案总投资,<=1250万为有效方案; 1.1.1计算总利润,记录相应方案; step2最后找出利润最大时的方案.

  2. 程序: • for a=1:5 • for b=1:5 • for c=1:5 • f=[a b c]; • tz=t*f '; • if tz<=z • r=(p-t)*f '; • A(k,:)=f; • B=[B r]; • k=k+1; • end • end • end • end t=[150 90 60]; p=[270 170 110]; z=1250; k=1; A=[ ];B=[ ]; [m n]=max(B); zt=A(n,:)*t'; fprintf('fang an\n'); fprintf(' %d',A(n,:)); fprintf('\nli run %d',m);

  3. 例12-2:设A(0,0)为一导弹发射点,发现位于B(0,100)处一架敌机沿水平方向逃离(如图),随即发射一枚导弹予以打击,现已知导弹时刻对准敌机,且速率为飞机速率的两倍(设飞机速度为1)。试编程模拟导弹打击敌机的动态过程,并实时给出飞机和导弹的位置坐标。 分析:现将整个动态过程离散化, 即以dt为时间间隔,实时观测飞机 与导弹的位置: 假定敌机从B点飞行到B1点, 导弹沿向量AB1到A1点; 此时敌机又到B2点,导弹则 沿向量A1B2到A2点; 以此类推,计算飞机的位置 坐标和导弹的位置坐标。

  4. 步骤: • step1画出导弹与飞机A、B点位置; • step2求出dt时间段后的B1点坐标; • 2.1求出向量A0B1的方向, • 2.2 求出A1点坐标 • 2.3求出导弹与飞机间的距离d; • step3判断距离d是否达到精度要求;如果没有 • 达到要求,转向step1重复画点、计算新的位置…… • 直到d达到要求.

  5. hold on • axis([0 100 0 120]); • k=0;A=[0,0];B=[0,100]; • v=1;dt=1;d=100; • while d>0.5 • plot(A(1),A(2),'r.'); • plot(B(1),B(2),'b*'); • pause(0.2); • k=k+1; • B=B+[v*dt,0]; • e=B-A; • d=norm(e); • A=A+2.0*v*dt*e/d; • fprintf('k=%.0f B(%.2f,100) A(%.2f,%.2f) d=%.2f\n', • k,B(1),A(1),A(2),d); • end

  6. 例12-3设在2×4m房间的顶部,距离地面高度 为2m处安装两盏照明灯,两灯相距2m,距离墙面 为1m. 现假设灯的光强为1个单位,空间任一点处 的光强与它们之间的距离成反比。试分析地面上 光强的分布情况. 距离地面1m的层面上光强分布 又如何?距离地面1.5m呢? 分析:以地面为xoy平面, 以中心点为坐标原点建立空 间坐标系则两灯的位置为 A(0,-1,2)、B(0,1,2),则 距离地面高为h的空间点 p(x,y,h)处的光强根据光 的迭加原理有:

  7. 程序: x=-1:.1:1; y=-2:.1:2; [X,Y]=meshgrid(x,y); h=1; q1=1./sqrt(X.^2+(Y-1).^2+(h-2)^2); q2=1./sqrt(X.^2+(Y+1).^2+(h-2)^2); q=q1+q2; surf(X,Y,q);

  8. 实验问题: 试求五次曲线 与直线 的交点横坐标. 分析:该问题转化为方程 的根. 显然该方程为一元五次方 程,其解没有求解公式 用常规方法求很困难. 画图: hold on f=inline(' x^5 '); g=inline(' 1-x '); fplot(f,[0,1]); fplot(g,[0,1]); grid 方程近似解的求法 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

  9. 画出函数 的图象. y=inline('x^5+x-1'); fplot(y,[0,1]); grid • 如何求得零点: • MATLAB命令 • “二分法” • 切线迭代法 • 输入:fzero(y,[0,1]) • 输出:Zero found in the interval: [0, 1]. • ans = 0.75488

  10. 二分法 条件: 分析: 误差:

  11. 程序: f=inline('x^5+x-1'); fplot(f,[0,1]); grid; hold on; a=0;b=1; dlt=1.0e-5; k=1; N=log((b-a)/dlt)/log(2); while k< =fix(N)+1 c=(a+b)/2; plot(c,0,'*'); fprintf('k=%d, x=%.5f\n',k,c); if abs(f(c))==0 break; elseif f(c)*f(b)<0 a=c; else b=c; end k=k+1; end

  12. 切线迭代法 条件: 分析:

  13. 误差:

  14. 程序: f=inline('x^5+x-1'); df=inline('5*x^4+1'); d2f=inline('20*x^3'); a=0;b=1;dlt=1.0e-5; if f(a)*d2f(a)>0 x0=a; else x0=b; end m=min(abs(df(a)),abs(df(b))); k=1; while abs(f(x0))>m*dlt x1=x0-f(x0)/df(x0); x0=x1; fprintf('k=%d x=%.5f\n',k,x0); k=k+1; end

  15. 例5-3已知 ,设该曲线在 区间[0,x]上所围曲边梯形面积为s,试求当s 分别为5,10,20时的x的取值。 分析:s= , 所求解为方程 即方程 的根。 建立二元函数 f=inline('1/4*x^4-5/3*x^3+3*x^2+5*x-s','x','s')

  16. 程序: s=5; f=inline('1/4*x^4-5/3*x^3+3*x^2+5*x-s','x','s') df=inline('x^3-5*x^2+6*x+5'); d2f=inline('3*x^2-10*x+6'); a=0;b=s;dlt=1.0e-5; if f(a,s)*d2f(a)>0 x0=a; else x0=b; end m=min(abs(df(a)),abs(df(b))); k=1; while abs(f(x0,s))>m*dlt x1=x0-f(x0,s)/df(x0); x0=x1; fprintf('k=%d x=%.5f\n',k,x0); k=k+1; end

  17. 本次实验上机要求 • 求解讲义中P28上的问题4 或 问题6. • 每个实验小组完成一份实验报告(封面已发,内容填写到A4纸上),于第16周交给机房籍老师. • 第15周数学实验课移至下学期,其周末上机时间,有需要的实验小组提前登记,每组2小时.

More Related