波音公司飞机最佳定价策略Word版

上传人:每**** 文档编号:50897030 上传时间:2022-01-23 格式:DOC 页数:33 大小:484KB
收藏 版权申诉 举报 下载
波音公司飞机最佳定价策略Word版_第1页
第1页 / 共33页
波音公司飞机最佳定价策略Word版_第2页
第2页 / 共33页
波音公司飞机最佳定价策略Word版_第3页
第3页 / 共33页
资源描述:

《波音公司飞机最佳定价策略Word版》由会员分享,可在线阅读,更多相关《波音公司飞机最佳定价策略Word版(33页珍藏版)》请在装配图网上搜索。

1、第二章 方程求解本章学习目的:1复习求解方程的基本原理和方法,掌握解方程的迭代算法;2能利用MATLAB软件编写迭代算法程序,了解迭代过程的图形表示;3熟练掌握用MATLAB软件的函数来求解方程和方程组;4通过范例展现求解实际问题的初步建模过程和MATLAB程序设计。2.1 引言 “方程是很多工程和科学工作的发动机”。研究大型的土建结构、机械结构、输电网络、管道网络,研究经济规划、人口增长、种群繁殖等问题时,简单的分析可以直接归结为线性或非线性方程组,复杂一些要用到(偏)微分方程,求数值解时将转化为n非常大的方程组。若干世纪以来,工程师和科学家花了大量的时间用于求解方程(组),数学家研究各种各

2、样的方程求解方法。本章我们就是要学习求解线性方程组、非线性方程(组)的方法,以及利用数学软件利用计算机对方程和方程组进行求解。2.2 方程的求解方法考虑求方程f(x)=0的解,我们通常采用这样的几种方法:因式分解法、图形放大法、数值迭代逼近法。1因式分解法:推荐精选这是我们最熟悉、常用的一种方法,这个方法的关键在分解因式,包括对多项式函数、三角函数和指数函数等的分解。但对于无法进行分解的函数则无能为力。2图形放大法:由于计算机的广泛应用,可以非常方便地作出函数f(x)的图形(曲线),找出曲线与x轴的交点的横坐标值,就可求出f(x)0的近似根。这些值尽管不精确,但是直观,方程有多少个根、在什么范

3、围,一目了然。并且可以借助于计算机使用图形局部放大功能,将根定位得更加准确。3数值迭代逼近法:利用图形的方法或连续函数的零点存在性定理,可以推知f(x)在某一区间内有根,我们就可以用数值方法来求方程的根,这就是迭代逼近法。迭代逼近法分为区间的迭代和点的迭代。区间迭代又分为对分法和黄金分割法;点的迭代又分为简单迭代法、单点割线法、两点割线法、牛顿法等。迭代失败后又可以采用加速迭代收敛方法。各种迭代方法原理都很简单(详见教材p41),请同学们自学。221 图形放大法用图形放大法求解方程f(x)0的步骤:(1) 建立坐标系,作曲线f(x);(2) 观察f(x)与x轴的交点;(3) 将其中的一个交点进

4、行局部放大;(4) 该交点的横坐标值就是方程的一个根;(5) 对所有的交点进行相同的处理,就得到方程的所有解。推荐精选例2.1 求方程所有的根及大致分布范围,欲寻求其中的一个实根,并且达到一定的精度。(1) 画出的图形;x=-6:0.01:6;y=x.5+2*x.2+4;plot(x,y)grid on; 我们可以看出方程在22范围有一个实根。(2) 逐次缩小范围得到较精确的根。x=-2:0.01:2;推荐精选y=x.5+2.*x.2+4;plot(x,y)grid on x=-2:0.01:-1.5;y=x.5+2.*x.2+4;plot(x,y)grid on 推荐精选x=-1.6:0.0

5、1:-1.5;y=x.5+2.*x.2+4;plot(x,y) grid on 推荐精选因此我们可以看出这个实根的值在-1.55-1.5之间。222 简单迭代法1迭代算法步骤: 对方程f(x)=0求解(1) 对方程经过简单变形得到(不是唯一的),x 被称之为不动点;(2) 设置为迭代初值,迭代过程为,n=0,1,2(3) 当两次迭代结果之差小于某个设定的误差值时,我们认为迭代结果是收敛的,可得到结果的近似值。例22 求方程的非负实根。推荐精选解:由于函数连续,并且在x=0和x=1处函数值符号相反,可以判断函数在区间(0,1)必有零点,即方程在(0,1)内必然存在根。(1) 先将函数变形为;(2

6、) 设置迭代初值为0,编程进行迭代。n=1;x=0;y=exp(x)/3;ys=vpa(y,10);z=abs(y-x);while z10(-5) x=y; y=exp(x)/3; ys=vpa(y,10); z=abs(y-x); n=n+1;endn,y,ys n = 21y = 0.6190ys =.6190471917 推荐精选从该结果可以看出,迭代21次后两次迭代的结果误差值满足小于的条件,结果收敛,迭代结果为0.6190,若保留小数点后10位有效数字则结果为0.6190471917。例23 用迭代方法求解方程解:(1)对方程变形为,有不同的形式,比如; (a); (b); (c)

7、(2)设定初始值为1,编程迭代求解x=1;y=1;z=1;for k=1:25x=x3-x2-1;y=(y2+y+1)(1/3);z=1+1/z+1/z2;endx,y,z x = -Infy = 1.8393推荐精选z = 1.8393 在程序中,函数x,y,z分别对应方程(a)(b )(c),从结果可以看出方程( a)不收敛,结果趋于负无穷大,方程(b)(c)收敛,结果为1.8393。而且,还可证明(b)比(c)收敛速度快。注:这段程序和例2.2有所不同,这里是设定了固定的迭代次数。2迭代失败的改进:加速迭代收敛方法例2.3中方程(a)的迭代是失败的(即迭代不收敛),如何解决?当我们遇到迭

8、代失败时,可以采用以下的简单方法解决。我们考虑不直接用迭代,而用和x的加权平均进行迭代,为参数。即:在满足的条件下,取,由此可以得到。在实际迭代过程中用代替a,因此在迭代中,其加速迭代过程如下:。采用以上方法对例2.3中方程(a)进行改进,产生新的迭代函数推荐精选加速迭代过程为。再编写程序计算:x=0;for k=1:20x=(-2*x3+x2-1)/(-3*x2+2*x+1);endx x = 1.8393 x=100;for k=1:20x=(-2*x3+x2-1)/(-3*x2+2*x+1);endx x = 1.8393 由此我们看到选用两个不同的初值0和100都能得到结果是1.839

9、3,改进是非常有效的,同学们还可尝试不同的初值,观察其迭代的收敛性。实验表明,它比(b)、(c)的收敛速度都快。但要注意,x=1不能作为初值,这会出现被0除的错误。推荐精选通过这个例子我们看出,求解方程的迭代函数构造形式多样,不同迭代函数的收敛性和收敛速度都可能不同,需要在遇到具体问题时灵活应用。2.3 方程组的求解方法2.3.1 线性方程组的求解我们在线性代数中已经学习了线性方程组的求解方法。对于线性方程组可以写成矩阵的形式由线性代数的知识可知,线性方程组的解可能出现三种情形:无解、有唯一解、有无穷多组解。这主要取决于系数矩阵A 的秩与增广矩阵(Ab)的秩是否相等、秩与变量个数是否相等,具体

10、地:若R(A)R(Ab),则无解;若R(A)R(Ab)n(n为变量个数),则有唯一一组解;若R(A)R(Ab) n,则有无穷多组解。求矩阵A的秩可以很方便的用MATLAB的rank(A)函数求得。求解线性方程组的方法大致可以划分为两类:直接消去法、迭代数值解法。直接消去法在线性代数中已经学过,这里不再赘述。线性方程组可以看成是非线性方程组的特例,其迭代数值解法相同,在非线性方程组的迭代解法中介绍方法。推荐精选232 非线性方程组的迭代解法非线性方程组的一般形式为可以改写为等价的方程组用这个方程组进行迭代求得精确解。例24 求解方程组解:对方程组进行变形,构造如下的迭代函数:(1)或(2)思考:

11、迭代序列如何表示?求解方程组迭代产生的序列是数组:对本例选择初始点(0,0),(2,3),(8,9),分别计算,迭代次数逐渐增加,观察结果。迭代程序如下:(初始值是(2,3),迭代次数为20次)x=2,3;y=2,3;for k=1:20推荐精选a=0.1*x(1)2+0.1*x(2)2+0.8;x(2)=0.1*x(1)*x(2)2+0.1*x(1)+0.8;x(1)=a;b=(10*y(2)-8)/(y(2)2+1);y(2)=sqrt(10*y(1)-8-y(1)2);y(1)= b;endx,yx = 1.0000 1.0000y = 2.1934 3.0205 从这个结果看出,x(1

12、)=1,x(2)=1,和y(1)=2.1934,y(2)=3.0205是方程组的两组解。问:程序中a、b变量的作用是什么?取消可以吗?2.4 MATLAB软件直接求解法2.4.1 任意函数方程与线性方程组可用命令solve( )求解推荐精选solve( )语句的用法:1 单变量方程:f(x)=01) 符号解:例25 求解方程:解:输入:x=solve(a*x2+b*x+c) 输出为:x = 1/2/a*(-b+(b2-4*a*c)(1/2) 1/2/a*(-b-(b2-4*a*c)(1/2) 或输入:solve(a*x2+b*x+c) 输出为:ans = 1/2/a*(-b+(b2-4*a*c

13、)(1/2) 1/2/a*(-b-(b2-4*a*c)(1/2) 2) 数字解:如果不能求得精确的符号解,可以计算可变精度的数值解。例26 解方程:解:s=solve(x3-2*x2=x-1) double(s) vpa(s,10) 推荐精选ans = 2.246979604+.1e-9*i -.8019377358-.1866025404e-9*i .5549581322-.1339745960e-10*i ans = 2.2470 -0.8019 + 0.0000i 0.5550 - 0.0000i s = 1/6*(28+84*i*3(1/2)(1/3)+14/3/(28+84*i*3(

14、1/2)(1/3)+2/3 -1/12*(28+84*i*3(1/2)(1/3)-7/3/(28+84*i*3(1/2)(1/3)+2/3+1/2*i*3(1/2)*(1/6*(28+84*i*3(1/2)(1/3)-14/3/(28+84*i*3(1/2)(1/3) -1/12*(28+84*i*3(1/2)(1/3)-7/3/(28+84*i*3(1/2)(1/3)+2/3-1/2*i*3(1/2)*(1/6*(28+84*i*3(1/2)(1/3)-14/3/(28+84*i*3(1/2)(1/3) 该方程无实根。3)无穷解推荐精选例2.7 求解方程:解:输入:solve(tan(x)-

15、sin(x)=0) 输出为:ans =0 该方程有无穷多个解,不能给出全部解,这里只得到其中的一个。2多变量方程组:例2.8 解方程组解:输入:x,y=solve(x2*y2,x-y/2-b) x = 0 0 b by = -2*b -2*b 0 0 推荐精选v=x,y v = 0, -2*b 0, -2*b b, 0 b, 0 2.4.2 非线性方程组非线性方程组仍然可以用solve( )求解(如上例2.8),一般给出的是数值解。也可以用fsolve( )函数求解,格式是:这里 为变量的初始值;options可缺省,若options=1,表示输出中间结果;fun为m文件的文件名。m文件如下所

16、示:例2.9 求解方程组:解:这是一个非线性方程组。推荐精选(1)首先建立关于该方程组的M文件function eq=nxxf(x)global number;number=number+1;eq(1)=sin(x(1)+x(2)2+log(x(3)-7;eq(2)=3*x(1)+2x(2)-x(3)3+1;eq(3)=x(1)+x(2)+x(3)-5;(2)执行以下程序global number;number=0;y=fsolve(nxxf,1,1,1,1)number f-COUNT RESID STEP-SIZE GRAD/SD 4 55.6104 1 -111 10 33.2251 0

17、.205 -104 16 0.723788 0.694 -4.88 23 0.00160015 1.03 0.00154 29 3.66879e-009 1 -1.48e-008 Optimization Terminated Successfullyy = 0.5990 2.3959 2.0050number = 29 推荐精选这里迭代步骤为29次。2.4.3 多项式方程求解多项式方程除了可以用上面讲述的solve( ) 函数外,还可以直接用求解多项式方程的函数roots(p)。对于多项式方程用: 求解该方法可以求出方程的全部根(包含重根)。例210 求解多项式方程:解:p=1,1,0,0,

18、0,0,0,0,0,1;roots(p) ans = -1.2131 -0.9017 + 0.5753i -0.9017 - 0.5753i -0.2694 + 0.9406i -0.2694 - 0.9406i 0.4168 + 0.8419i 0.4168 - 0.8419i 0.8608 + 0.3344i 0.8608 - 0.3344i 推荐精选当然,本例也可以用solve( ) 函数求解。s=solve(x9+x8+1) s = .86082052816807526471321650032963+.33435225889790612035535442609416*i .416834

19、00653657232118306037529804+.84191977308465856032531749536099*i -.26935193759657466239499735181026+.94057840102314507033098846338980*i -.90172773557825296622423876941201+.57531209407289260277720483797049*i -1.2131497230596399145540815088108 -.90172773557825296622423876941201-.575312094072892602777204

20、83797049*i -.26935193759657466239499735181026-.94057840102314507033098846338980*i .41683400653657232118306037529804-.84191977308465856032531749536099*i推荐精选 .86082052816807526471321650032963-.33435225889790612035535442609416*i double(s) ans = 0.8608 + 0.3344i 0.4168 + 0.8419i -0.2694 + 0.9406i -0.901

21、7 + 0.5753i -1.2131 -0.9017 - 0.5753i -0.2694 - 0.9406i 0.4168 - 0.8419i 0.8608 - 0.3344i 2.4.4 线性方程组线性方程组除了可以使用solve( ) 求解外,还可以使用其他的MATLAB命令。将线性方程组写成矩阵形式:AX=b,就可以考虑用以下几种形式之一求解。(1) linsolve(A,b);6.5版无此函数(2) sym(A)sym(b);(3) Ab;推荐精选(4) inv(A)*b; inv(A)表示A的逆矩阵,这里A必须为方阵且可逆;(5) pinv(A)*b; pinv(A) 表示A的逆矩

22、阵,A可以为任意矩阵。例2.11 求解线性方程组:AXb(1)A=4 1 0 ;1 -1 5;2 2 -3;b=6;14;-3;x=Ab x = 1 2 3 rankA=rank(A)C=A,b;rankAb=rank(C) rankA = 3rankAb = 3 此例中rank(A)=rank(A|b)=3,说明方程有唯一解。推荐精选 (2) A=4 3 0;3 4 -1;0 -1 4;b=24;30;-24;x=sym(A)sym(b) x = 3 4 -5 x=Ab x = 3.0000 4.0000 -5.0000 rank(A) ans = 3 c=A,b; rank(c) ans

23、= 3 此例中rank(A)=rank(A|b)=3,说明方程有唯一解。推荐精选(3) A=hilb(10);b=sum(A); x=inv(A)*b x = 1.0000 1.0000 1.0000 1.0000 0.9999 1.0003 0.9996 1.0009 0.9998 1.0000 rank(A) ans = 10 c=A,b;rank(c) ans = 10 推荐精选此例中rank(A)=rank(A|b)=10,说明方程有唯一解。2.5 范例:波音公司飞机最佳定价策略全球最大的飞机制造商波音公司自1955年推出的波音707开始,成功地开发了一系列的喷气式客机。问题:讨论该公

24、司对一种新型客机最优定价策略的数学模型。2.5.1 问题分析定价策略涉及到诸多因素,这里考虑以下主要因素: 价格、竞争对手的行为、出售客机的数量、波音公司的客机制造量、制造成本、波音公司的市场占有率等等因素。2.5.2 假设及模型价格记为p,根据实际情况,对于民航飞机制造商,能够与波音公司抗衡的竞争对手只有一个,因此他们可以在价格上达成一致,具体假设如下: 1. 型号:为了研究方便,假设只有一种型号飞机;2. 销售量:其销售量只受飞机价格p的影响。预测以此价格出售,该型号飞机全球销售量为N。N应该受到诸多因素的影响,假设其中价格是最主要的因素。根据市场历史的销售规律和需求曲线,假设该公司销售部

25、门预测得到:推荐精选3. 市场占有率:既然在价格上达成一致,即价格的变化是同步的,因此,不同定价不会影响波音公司的市场占有率,因此市场占有率是常数,记为h。4. 制造数量:假设制造量等于销售量,记为x。既然可以预测该型号飞机全球销售量,结合波音公司的市场占有率,可以得到5. 制造成本:根据波音产品分析部门的估计,制造成本为:6. 利润:假设利润等于销售收入去掉成本,并且公司的最优策略原则为利润R(p)最大。由以上简化的分析及假设得到波音公司飞机最佳定价策略的数学模型如下:推荐精选其中:;,p,x,N0。2.5.3 模型求解我们采用图形放大的方法求解。具体用Matlab 作出目标函数曲线图,得到

26、一个直观的印象:最优定价策略下价格p大致在6到7之间;再用图形放大方法,进一步估计出(如下图)p 6.2859,R=1780.8336。Matlab 程序如下(作函数曲线图的基本程序)h=0.5;a=6.285;b=6.287;n=80;d=(b-a)/n;for i=1:n+1pr(i)=a+(i-1)*d;p=pr(i);n=-78*p2+655*p+125;x=h*n;r=p*x;c=50+1.5*x+8*x(3/4);l(i)=r-c;endplot(pr,l);grid onxlabel(价格p);title(利润曲线R(p) 推荐精选注意:1. 根据图形的具体情况,不断修改上面程序

27、中的最长一条语句,就可以不断地放大图形,将最优解的范围限制得越来越小,直至找出满意的近似解。 2. 以上的市场占有率h=0.5;对于市场占有率h的其它取值,可以类似地进行。2.5.4 进一步思考的几个问题 1 求出h取其它值时的最优价格,并进行比较; 推荐精选2 该模型本身是一个最值问题,由高等数学的知识,可以利用导数求驻点然后求最值。给出用此方法得到最佳价格p(精确到小数点后四位)的求解过程及Matlab程序。 3 如果模型假设中,在预测该型号飞机的全球销售量时,使用的不是二次函数,而是其它符合市场规律的曲线,具体考虑几种不同曲线,并进行计算和比较。 4 以上问题的6条假设中,哪些较为合理,

28、那些不太合理,应该如何修改? 5 在将此模型推向实际应用时,哪些因素是关键的,哪些因素处理和参数的获取是很困难的?推荐精选2.6 实验:方程及方程组的求解一、实验目的1复习求解方程及方程组的基本原理和方法;2掌握迭代算法;3熟悉MATLAB软件编程环境;掌握MATLAB编程语句(特别是循环、条件、控制等语句);4. 会用MATLAB命令对方程和方程组进行求解。二、实验内容 1方程求解和方程组的各种数值解法练习; 2直接使用MATLAB命令对方程和方程组进行求解练习; 3针对实际问题,试建立数学模型,并求解。三、实验步骤1开启软件平台MATLAB,开启MATLAB编辑窗口; 2根据各种数值解法步

29、骤编写M文件;3保存文件并运行;4观察运行结果(数值或图形);5根据观察到的结果写出实验报告,并浅谈学习心得体会。推荐精选四、实验要求与任务根据实验内容和步骤,完成以下具体实验,要求写出实验报告(实验目的问题数学模型算法与编程计算结果分析、检验和结论心得体会)1用图形放大法求解方程 x sin(x) = 1。并观察该方程有多少个根。2将方程x5 +5x3- 2x + 1 = 0 改写成各种等价的形式进行迭代,观察迭代是否收敛,并给出解释。用其他方法求解方程得到方程的全部根。3求解下列方程组用迭代法和直接使用MATLAB命令:solve()和fsolve()对方程组求解。4油价与船速的优化问题油

30、价的上涨,将影响大型海船确定合理的航行速度,以优化航行收入。直观的,油耗的多少直接影响船速的快慢,因而直接影响航行时间的长短,进而影响支付船员人工费用的数量。经验表明:(1)油耗正比于船速的立方;(2)在最省油航速的基础上改变20的速度,则引起50的油耗的变化。作为一个例子:某中型海船,每天油耗40吨,减少20%的航速,省油50即20吨。每吨油价250美元,由此每天减少耗油费用5000美元,而航行时间的增加将增加对船员支付的费用,如何最优化?推荐精选算例:航程L1536海里,标准最省油航速20节,油耗每天50吨,航行时间8天,最低航速10节,本次航行总收入为84600美元,油价250美元/吨,日固定开支1000美元,试确定最佳航速。(注:1节1海里/小时,1海里1.852km) (注:可编辑下载,若有不当之处,请指正,谢谢!) 推荐精选

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!