数学模型程序代码-Matlab-姜启源-第一章-建立数学模型

数学模型程序代码-Matlab-姜启源-第一章-建立数学模型
数学模型程序代码-Matlab-姜启源-第一章-建立数学模型

第1章 建立数学模型

1.(求解,编程)如何施救药物中毒p10~11

人体胃肠道和血液系统中的药量随时间变化的规律(模型):

d ,(0)1100d (,0)d ,(0)0d x

x x t

y x y y t

λλμλμ?=-=??>?

?=-=?? 其中,x (t )为t 时刻胃肠道中的药量,y (t )为t 时刻血液系统中的药量,t =0为服药时刻。

1.1(求解)模型求解p10~11

要求:

① 用MATLAB 求解微分方程函数dsolve 求解该微分方程(符号运算)。 ② 用MATLAB 的化简函数simplify 化简所得结果。 ③ 结果与教材P11上的内容比较。

提示:dsolve 和simplify

的用法可用help 查询。建议在命令窗口中操作。

1.2(编程)结果分析p11

已知λ=0.1386, μ=0.1155,将上题中得到x(t)和y(t)两条曲线画在同一个图形窗口内。参考图形如下。

提示:

MATLAB命令plot, fplot, hold on/off, grid on/off, xlabel, ylabel, text。

★编写的程序和运行结果:

程序1:用plot

程序2:用fplot和匿名函数

2.(编程,验证)商人们怎样安全过河p8~9

三名商人各带一个随从乘船渡河,一只小船只能容纳二人,由他们自己划行。随从们密约,在河的任一岸,一旦随从的人数比商人多,就杀人越货。但是如何乘船的大权掌握在商人们手中。商人们怎样才能安全渡河呢?

[模型构成]

决策:每一步(此岸到彼岸或彼岸到此岸)船上的人员。

要求:在安全的前提下(两岸的随从数不比商人多),经有限步使全体人员过河。

x k第k次渡河前此岸的商人数

y k第k次渡河前此岸的随从数x k , y k=0,1,2,3; k=1,2,?

过程的状态s k=(x k , y k)

允许状态集合S={(x, y)|x=0, y=0,1,2,3; x=3, y=0,1,2,3; x=y=1,2}

u k第k次渡船上的商人数

v k第k次渡船上的随从数u k , v k=0,1,2; k=1,2,?

决策d k=(u k , v k)

允许决策集合D={(u , v)|u+v =1, 2}

状态转移律s k+1=s k+(-1)k d k

[多步决策问题]

求d k∈D(k=1, 2, ?, n), 使s k∈S, 并按转移律由s1=(3,3) 到达s n+1=(0,0)。

2.1(编程)求允许决策集合D和允许状态集合S

D是2行多列矩阵,每一列是一个决策。

S是2行多列矩阵,每一列是一种状态。

要求:

①编写程序求D和S,并输出。

②S的第一列是[3,3]',最后一列是[0,0] '。

★编写的程序和运行结果:

程序:

运行结果:

2.2(验证)求动态允许状态集合SS和状态转移矩阵A

上面允许状态集合S没有指明当时船是在此岸还是在彼岸,应该将S中的每一种状态再分为两种状态,需增加一个元素(值为-1或1)放在第三行。

定义动态允许状态集合

SS={(x, y, z)' x=0, y=0,1,2,3; x=3, y=0,1,2,3; x=y=1,2;z=-1,1} (x, y, -1),表示从此岸渡河前此岸的允许状态(x, y)。

(x, y, 1),表示从彼岸渡河前此岸的允许状态(x, y)。

SS是三行多列矩阵,每一列表示一种状态,列下标为其编号。

定义状态转移矩阵A,其中,A(i, j)=1表示D中存在决策使状态i转到j,否则A(i, j)=0。

程序如下(输入时,不必把注释也输入):

程序运行结果(参考):

要求:

①将程序接在上题的程序之后(去掉最后多余的输出语句),程序最后给出

显示SS和A的语句。

②运行程序,输出SS和A。对照参考答案,如数值不一致,请检查程序。

MATLAB函数all的用法见提示。

★运行的完整程序和运行结果:

程序:

运行结果:

2.3(验证)给出一个商人们安全过河的方案程序如下(输入时,不必把注释也输入):

程序运行结果:

要求:

①读懂以上程序,掌握all和any函数的应用。

②将程序接在之前的程序后(去掉最后多余的输出语句),运行程序。对照答案,如不一致,请检查程序。

MATLAB函数any的用法见提示。

★给出运行的完整程序和运行结果:

程序:

给出程序的运行结果:

3.(求解)商人们怎样安全过河(修改)p9

对第2题的问题改动,用类似的方法求解。

3.1 在第2题中修改商人数和随从数

有四名商人各带一个随从,其它同第2题。修改第2题中的程序求解。

3.2 在3.1题中修改船容纳的人数

船能容纳3人。修改3.1题中的程序求解。

4.(编程)安全过河问题(人、猫、鸡、米)p21习题5

人带着猫、鸡、米过河,除需要人划船之外,船至多能载猫、鸡、米三者之一,而当人不在场时猫要吃鸡、鸡要吃米。试设计一个安全过河方案。

模仿商人过河问题的程序编写程序解决本问题。

★程序:

★程序的运行结果

5.(选做,编程)商人们怎样安全过河(自编)

2.3中的程序有一定难度,所以给出了参考程序,初学MATLAB的同学可能想不到用其中的一些语句。第2题给出的是求解商人们安全过河问题的一种算法程序,还有其它的算法程序,比如回溯法、递归算法等。

要求:

①按照自己的理解和想法,改写2.3中的程序。

②或用别的算法编写解决商人们安全过河的程序。

★程序和运行结果:

解1(递归)

程序

运行结果

三个阶段:(3,3,船停此岸)→(3,0,船停彼岸)→(0,3,船停此岸)→(0,0,船停彼岸) 第一阶段:所有随从渡过彼岸(商人不动);

第二阶段:使所有商人渡过彼岸,并将随从渡回此岸;

第三阶段:所有随从渡过彼岸(商人不动)。

解2(借用栈)

思路

定义状态:此岸的商人数,随从数,小船停靠在此岸或彼岸。

从初始状态开始,找到一个决策得到下一个状态,再从新状态开始,找到一个决策得到下一个状态,...。

在这个过程中,出现过的状态将不可再用。

若从某个状态开始,所有决策都得不到新状态,则返回上一状态,并从下一个决策开始,试探是否能得到新的状态。

直到到达状态(0,0),或无解。

算法

程序

运行结果

第1章 数学建模与误差分析

第1章数学建模与误差分析 1.1 数学与科学计算 数学是科学之母,科学技术离不开数学,它通过建立数学模型与数学产生紧密联系,数学又以各种形式应用于科学技术各领域。数学擅长处理各种复杂的依赖关系,精细刻画量的变化以及可能性的评估。它可以帮助人们探讨原因、量化过程、控制风险、优化管理、合理预测。近几十年来由于计算机及科学技术的快速发展,求解各种数学问题的数值方法即计算数学也越来越多地应用于科学技术各领域,相关交叉学科分支纷纷兴起,如计算力学、计算物理、计算化学、计算生物、计算经济学等。 科学计算是指利用计算机来完成科学研究和工程技术中提出的数学问题的计算,是一种使用计算机解释和预测实验中难以验证的、复杂现象的方法。科学计算是伴随着电子计算机的出现而迅速发展并获得广泛应用的新兴交叉学科,是数学及计算机应用于高科技领域的必不可少的纽带和工具。科学计算涉及数学的各分支,研究它们适合于计算机编程的数值计算方法是计算数学的任务,它是各种计算性学科的联系纽带和共性基础,兼有基础性和应用性的数学学科。它面向的是数学问题本身而不是具体的物理模型,但它又是各计算学科共同的基础。 随着计算机技术的飞速发展,科学计算在工程技术中发挥着愈来愈大的作用,已成为继科学实验和理论研究之后科学研究的第三种方法。在实际应用中所建立的数学模型其完备形式往往不能方便地求出精确解,于是只能转化为简化模型,如将复杂的非线性模型忽略一些因素而简化为线性模型,但这样做往往不能满足精度要求。因此,目前使用数值方法来直接求解较少简化的模型,可以得到满足精度要求的结果,使科学计算发挥更大作用。了解和掌握科学计算的基本方法、数学建模方法已成为科技人才必需的技能。因此,科学计算与数学建模的基本知识和方法是工程技术人才必备的数学素质。 1.2 数学建模及其重要意义 数学,作为一门研究现实世界数量关系和空间形式的科学,在它产生和发展的历史长河中,一直是和人们生活的实际需要密切相关。用数学方法解决工程实际和科学技术中的具体问题时,首先必须将具体问题抽象为数学问题,即建立起能描述并等价代替该实际问题的数学模型,然后将建立起的数学模型,利用数学理论和计算技术进行推演、论证和计算,得到欲求解问题的解析解或数值解,最后用求得的解析解和数值解来解决实际问题。本章主要介绍数学建模基本过程和求解数学问题数值方法的误差传播分析。 1.2.1 数学建模的过程 数学建模过程就是从现实对象到数学模型,再从数学模型回到现实对象的循环,一般通过表述、求解、解释、验证几个阶段完成。数学建模过程如图1.2.1所示,数学模型求解方法可分为解析法和数值方法,如图1.2.2所示。 表述是将现实问题“翻译”成抽象的数学问题,属于归纳。数学模型的求解方法则属于演绎。归纳是依据个别现象推出一般规律;演绎是按照普遍原理考察特定对象,导出结论。演绎利用严格的逻辑推理,对解释现象做出科学预见,具有重要意义,但是它要以归纳的结论作为公理化形式的前提,只有在这个前提下

数学模型第四版(姜启源)作业对于6.4节蛛网模型讨论下列问题:

对于6.4节蛛网模型讨论下列问题: (1)因为一个时段上市的商品不能立即售完,其数量也会影响到下一时段的价格,所以第k+1时段的价格1+k y 由第k+1和第k 时段的数 量1+k x 和k x 决定。如果设1+k x 仍只取决于k y ,给出稳定平衡的条件,并 与6.4的结果进行比较。 (2)若除了1+k y 由1+k x 和k x 决定之外,1+k x 也由前两个时段的价格k y 和 1-k y 决定,试分析稳定平衡的条件是否还会放宽。 解:(1) 设1+k y 由1+k x 和k x 的平均值决定,即价格函数表示为: )2 (11k k k x x f y +=++ 则 0),2 (0101>-+-=-++ααx x x y y k k k 0),(001>-=-+ββy y x x k k 消去y, 得到 012)1(22x x x x k k k +=++++αβαβαβ ,k=1,2,…. 该方程的特征方程为 022=++αβαβλλ 与6.4节中 )2 (11-++=k k k y y g x 时的特征方程一样, 所以0<αβ<2, 即为0p 点的稳定条件。

(2)设 )2 (11k k k x x f y +=++ )2 (11-++=k k k y y g x , 则有 0),2 (0101>-+-=-++ααx x x y y k k k 0),2 (0101>-+=--+ββy y y x x k k k 消去y,得到 0123)1(424x x x x x k k k k +=++++++αβαβαβαβ 该方程的特征方程为 02423=+++αβαβλαβλλ 令λ=x ,αβ=a , 即求解三次方程 0a 2ax ax 4x 23=+++ 的根 在matlab 中输入以下代码求解方程的根x : syms x a solve(4*x^3+a*x^2+2*a*x+a==0,x) 解得 1x = (36*a^2 - 216*a - a^3 + 24*3^(1/2)*(-a^2*(a - 27))^(1/2))^(1/3)/12 - a/12 + (a*(a - 24))/(12*(36*a^2 - 216*a - a^3 + 24*3^(1/2)*(-a^2*(a - 27))^(1/2))^(1/3)); 2x = -(2*a*(36*a^2 - 216*a - a^3 + 24*3^(1/2)*(-a^2*(a - 27))^(1/2))^(1/3) - 3^(1/2)*a*24*i - 3^(1/2)*(36*a^2 - 216*a - a^3 + 24*3^(1/2)*(-a^2*(a - 27))^(1/2))^(2/3)*i - 24*a + 3^(1/2)*a^2*i +

MATLAB及在数学建模中的应用

第1讲MATLAB及 在数学建模中的应用 ? MatLab简介及基本运算?常用计算方法 ?应用实例

一、 MatLab简介及基本运算 1.1 MatLab简介 1.2 MatLab界面 1.3 MatLab基本数学运算 1.4 MatLab绘图

1.1 MatLab简介?MATLAB名字由MATrix和 LABoratory 两词组成。20世纪七十年代后期, 美国新墨西哥大学计算机科学系主任Cleve Moler教授为减轻学生编程负担,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。

?经几年的校际流传,在Little的推动下,由Little、Moler、Steve Bangert合作,于1984年成立了MathWorks公司,并把MATLAB正式推向市场。从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。

?1997年春,MATLAB5.0版问世,紧接着是5.1、5.2、5.3、6.0、6.1、6.5、7.0版。现今的MATLAB拥有更丰富的数据类型和结构、更友善的面向对象、更加快速精良的图形可视、更广博的数学和数据分析资源、更多的应用开发工具。 ?20世纪九十年代的时候,MATLAB已经成为国际控制界公认的标准计算软件。

?MATLAB具有用法简易、可灵活运用、程式结构强又兼具延展性。以下为其几个特色: ①可靠的数值运算和符号计算。在MATLAB环境中,有超过500种数学、统计、科学及工程方面的函 数可使用。 ②强大的绘图功能。 MATLAB可以绘制各种图形,包括二维和三维图形。 ③简单易学的语言体系。 ④为数众多的应用工具箱。

数学建模matlab例题参考及练习

数学实验与数学建模 实验报告 学院: 专业班级: 姓名: 学号: 完成时间:年月日

承 诺 书 本人承诺所呈交的数学实验与数学建模作业都是本人通过学习自行进行编程独立完成,所有结果都通过上机验证,无转载或抄袭他人,也未经他人转载或抄袭。若承诺不实,本人愿意承担一切责任。 承诺人: 年 月 日 数学实验学习体会 (每个人必须要写字数1200字以上,占总成绩的20%) 练习1 一元函数的图形 1. 画出x y arcsin =的图象. 2. 画出x y sec =在],0[π之间的图象. 3. 在同一坐标系中画出x y =,2x y =,3 x y = ,3x y =,x y =的图象. 4. 画出3 2 3 2)1()1()(x x x f + +-=的图象,并根据图象特点指出函数)(x f 的奇偶性. 5. 画出)2ln(1++=x y 及其反函数的图象. 6. 画出3 21+=x y 及其反函数的图象.

练习2 函数极限 1.计算下列函数的极限. (1) x x x 4 cos 1 2 sin 1 lim 4 - + π → . 程序: sym x; f=(1+sin(2*x))/(1-cos(4*x)); limit(f,x,pi/4) 运行结果: lx21 ans = 1 (2). 程序: sym x; f=(1+cos(x))^(3*sec(x)); limit(f,x,pi/2) 运行结果: lx22 ans = exp(3) (3) 2 2 ) 2 ( sin ln lim x x x - π π → . 程序: sym x; f=log(sin(x))/(pi-2*x)^2; limit(f,x,pi/2) 运行结果: lx23 ans = -1/8 (4) 2 1 2 lim x x e x →. 程序: x x x sec 3 2 ) cos 1( lim+ π →

数学模型第四版课后答案姜启源版

《数学模型》作业答案 第二章(1)(2012年12月21日) 1. 学校共1000名学生,235人住在A 宿舍,333人住在B 宿舍,432人住在C 宿舍.学生们 要组织一个10人的委员会,试用下列办法分配各宿舍的委员数: (1). 按比例分配取整数的名额后,剩下的名额按惯例分给小数部分较大者; (2). §1中的Q 值方法; (3).d ’Hondt 方法:将A 、B 、C 各宿舍的人数用正整数n=1,2,3,……相除,其商数如下表: 将所得商数从大到小取前10个(10为席位数),在数字下标以横线,表中A 、B 、C 行有横线的数分别为2,3,5,这就是3个宿舍分配的席位.你能解释这种方法的道理吗? 如果委员会从10个人增至15人,用以上3种方法再分配名额,将3种方法两次分配的结果列表比较. 解:先考虑N=10的分配方案, ,432 ,333 ,235321===p p p ∑==3 1 .1000i i p 方法一(按比例分配) ,35.23 1 11== ∑=i i p N p q ,33.33 1 22== ∑=i i p N p q 32.43 1 33== ∑=i i p N p q 分配结果为: 4 ,3 ,3321===n n n 方法二(Q 值方法) 9个席位的分配结果(可用按比例分配)为: 4 ,3 ,2321===n n n

第10个席位:计算Q 值为 ,17.92043223521=?=Q ,75.92404333322=?=Q 2.9331544322 3=?=Q 3Q 最大,第10个席位应给C.分配结果为 5 ,3 ,2321===n n n 方法三(d ’Hondt 方法) 此方法的分配结果为:5 ,3 ,2321===n n n 此方法的道理是:记i p 和i n 为各宿舍的人数和席位(i=1,2,3代表A 、B 、C 宿舍). i i n p 是每席位代表的人数,取,,2,1Λ=i n 从而得到的i i n p 中选较大者,可使对所有的,i i i n p 尽量接近. 再考虑15=N 的分配方案,类似地可得名额分配结果.现将3种方法两次分配的结果列表如下: 2. 试用微积分方法,建立录像带记数器读数n 与转过时间的数学模型. 解: 设录像带记数器读数为n 时,录像带转过时间为t.其模型的假设见课本. 考虑t 到t t ?+时间内录像带缠绕在右轮盘上的长度,可得,2)(kdn wkn r vdt π+=两边积分,得 ?? +=n t dn wkn r k vdt 0 )(2π )22 2 n wk k(r n πvt +=∴ .2 22n v k w n v rk t ππ+=∴ 《数学模型》作业解答 第三章1(2008年10月14日)

matlab在数学建模中的应用

Matlab在数学建模中的应用 数学建模是通过对实际问题的抽象和简化,引入一些数学符号、变量和参数,用数学语言和方法建立变量参数间的内在关系,得出一个可以近似刻画实际问题的数学模型,进而对其进行求解、模拟、分析检验的过程。它大致分为模型准备、模型假设、模型构成、模型求解、模型分析、模型检验及应用等步骤。这一过程往往需要对大量的数据进行分析、处理、加工,建立和求解复杂的数学模型,这些都是手工计算难以完成的,往往在计算机上实现。在目前用于数学建模的软件中,matlab 强大的数值计算、绘图以及多样化的工具箱功能,能够快捷、高效地解决数学建模所涉及的众多领域的问题,倍受数学建模者的青睐。 1 Matlab在数学建模中的应用 下面将联系数学建模的几个环节,结合部分实例,介绍matlab 在数学建模中的应用。 1.1 模型准备阶段 模型准备阶段往往需要对问题中的给出的大量数据或图表等进行分析,此时matlab的数据处理功能以及绘图功能都能得到很好的应用。 1.1.1 确定变量间关系 例1 已知某地连续20年的实际投资额、国民生产总值、物价指数的统计数据(见表),由这些数据建立一个投资额模型,根据对未来国民生产总值及物价指数的估计,预测未来的投资额。

表1 实际投资额、国民生产总值、物价指数的统计表 记该地区第t年的投资为z(t),国民生产总值为x(t),物价指数为y(t)。 赋值: z=[90.9 97.4 113.5 125.7 122.8 133.3 149.3 144.2 166.4 195 229.8 228.7 206.1 257.9 324.1 386.6 423 401.9 474.9 424.5]' x=[596.7 637.7 691.1 756 799 873.4 944 992.7 1077.6 1185.9 1326.4 1434.2 1549.2 1718 1918.3 2163.9 2417.8 2631.6 2954.7 3073]' y=[0.7167 0.7277 0.7436 0.7676 0.7906 0.8254 0.8679 0.9145 0.9601 1 1.0575 1.1508 1.2579 1.3234 1.4005 1.5042 1.6342 1.7842 1.9514 2.0688]' 先观察x与z之间,y与z之间的散点图 plot(x,z,'*') plot(y,z,'*') 由散点图可以看出,投资额和国民生产总值与物价指数都近似呈

matlab数学建模实例

第四周 3. 中的三个根。 ,在求8] [0,041.76938.7911.1-)(2 3=-+=x x x x f function y=mj() for x0=0:0.01:8 x1=x0^3-11.1*x0^2+38.79*x0-41.769; if (abs(x1)<1.0e-8) x0 end end 4.分别用简单迭代法、埃特金法、牛顿法求解方程,并比较收敛性与收敛速度(ε分别取10-3、10-5、10-8)。 简单迭代法: function y=jddd(x0) x1=(20+10*x0-2*x0^2-x0^3)/20; k=1; while (abs(x1-x0)>=1.0e-3) x0=x1; x1=(20+10*x0-2*x0^2-x0^3)/20;k=k+1; end x1 k 埃特金法: function y=etj(x0) x1=(20-2*x0^2-x0^3)/10; x2=(20-2*x1^2-x1^3)/10; x3=x2-(x2-x1)^2/(x2-2*x1+x0); k=1; while (abs(x3-x0)>=1.0e-3) x0=x3; x1=(20-2*x0^2-x0^3)/10; x2=(20-2*x1^2-x1^3)/10; x3=x2-(x2-x1)^2/(x2-2*x1+x0);k=k+1; end 2 ,020102)(023==-++=x x x x x f

x3 k 牛顿法: function y=newton(x0) x1=x0-fc(x0)/df(x0); k=1; while (abs(x1-x0)>=1.0e-3) x0=x1; x1=x0-fc(x0)/df(x0);k=k+1; end x1 k function y=fc(x) y=x^3+2*x^2+10*x-20; function y=df(x) y=3*x^2+4*x+10; 第六周 1.解例6-4(p77)的方程组,分别采用消去法(矩阵分解)、Jacobi迭代法、Seidel迭代法、松弛法求解,并比较收敛速度。 消去法: x=a\d 或 [L,U]=lu(a); x=inv(U)inv(L)d Jacobi迭代法: function s=jacobi(a,d,x0) D=diag(diag(a)); U=-triu(a,1); L=-tril(a,-1); C=inv(D); B=C*(L+U); G=C*d; s=B*x0+G; n=1; while norm(s-x0)>=1.0e-8 x0=s; s=B*x0+G;

MATLAB及其在数学建模中的应用

Modeling and Simulation 建模与仿真, 2015, 4(3), 61-71 Published Online August 2015 in Hans. /journal/mos /10.12677/mos.2015.43008 Study of MATLAB and Its Application in Mathematical Modeling Chuanqi Qin, Ting Wang, Yuanfeng Jin School of Science, Yanbian University, Yanji Jilin Email: yfkim@ Received: Jul. 22nd, 2015; accepted: Aug. 11th, 2015; published: Aug. 18th, 2015 Copyright ? 2015 by authors and Hans Publishers Inc. This work is licensed under the Creative Commons Attribution International License (CC BY). /licenses/by/4.0/ Abstract This article firstly introduces the development and the features of MATLAB software. And then the concept and the process of mathematical modeling are explained. After, the article briefly intro-duces some MATLAB solution methods of mathematical modeling problems, giving several in-stances of some methods. At the last of this article, through a relatively complete example, it fo-cuses on the application of MATLAB in mathematical modeling. It has been found that the applica-tion of MATLAB in mathematical modeling can improve the efficiency and quality of mathematical modeling, enrich the means and methods of mathematical modeling, and play a very important role in the teaching of mathematical modeling course. Keywords MATLAB, Mathematical Modeling, Mathematic Model MATLAB及其在数学建模中的应用 秦川棋,王亭,金元峰 延边大学理学院,吉林延吉 Email: yfkim@ 收稿日期:2015年7月22日;录用日期:2015年8月11日;发布日期:2015年8月18日

姜启源《数学模型》第三版课件

第一章建立数学模型1.1 从现实对象到数学模型1.2 数学建模的重要意义1.3 数学建模示例 1.4 数学建模的方法和步骤1.5 数学模型的特点和分类1.6 怎样学习数学建模

1.1从现实对象到数学模型 我们常见的模型 玩具、照片、飞机、火箭模型… …~ 实物模型水箱中的舰艇、风洞中的飞机… …~ 物理模型地图、电路图、分子结构图… …~ 符号模型 模型是为了一定目的,对客观事物的一部分 进行简缩、抽象、提炼出来的原型的替代物 模型集中反映了原型中人们需要的那一部分特征

你碰到过的数学模型——“航行问题” 用x 表示船速,y 表示水速,列出方程: 75050)(750 30)(=?-=?+y x y x 答:船速每小时20千米/小时. 甲乙两地相距750千米,船从甲到乙顺水航行需30小时,从乙到甲逆水航行需50小时,问船的速度是多少? x =20y =5求解

航行问题建立数学模型的基本步骤?作出简化假设(船速、水速为常数); ?用符号表示有关量(x, y表示船速和水速); ?用物理定律(匀速运动的距离等于速度乘以时间)列出数学式子(二元一次方程); ?求解得到数学解答(x=20, y=5); ?回答原问题(船速每小时20千米/小时)。

数学模型(Mathematical Model) 和 数学建模(Mathematical Modeling) 对于一个现实对象,为了一个特定目的, 根据其内在规律,作出必要的简化假设, 运用适当的数学工具,得到的一个数学结构。建立数学模型的全过程(包括表述、求解、解释、检验等)数学模型 数学 建模

matlab数学建模实例

第四周3. 中的三个根。 ,在求8] [0,041.76938.7911.1-)(2 3=-+=x x x x f function y=mj()for x0=0:0.01:8 x1=x0^3-11.1*x0^2+38.79*x0-41.769;if (abs(x1)<1.0e-8)x0 end end 4.分别用简单迭代法、埃特金法、牛顿法求解方程,并比较收敛性与收敛速度(ε分别取10-3、10-5、10-8)。 简单迭代法: function y=jddd(x0) x1=(20+10*x0-2*x0^2-x0^3)/20;k=1; while (abs(x1-x0)>=1.0e-3) x0=x1; x1=(20+10*x0-2*x0^2-x0^3)/20;k=k+1;end x1k 埃特金法: function y=etj(x0) x1=(20-2*x0^2-x0^3)/10;x2=(20-2*x1^2-x1^3)/10; x3=x2-(x2-x1)^2/(x2-2*x1+x0);k=1; while (abs(x3-x0)>=1.0e-3) x0=x3; x1=(20-2*x0^2-x0^3)/10;x2=(20-2*x1^2-x1^3)/10; x3=x2-(x2-x1)^2/(x2-2*x1+x0);k=k+1;end 2 ,020102)(023==-++=x x x x x f

x3 k 牛顿法: function y=newton(x0) x1=x0-fc(x0)/df(x0); k=1; while(abs(x1-x0)>=1.0e-3) x0=x1; x1=x0-fc(x0)/df(x0);k=k+1; end x1 k function y=fc(x) y=x^3+2*x^2+10*x-20; function y=df(x) y=3*x^2+4*x+10; 第六周 1.解例6-4(p77)的方程组,分别采用消去法(矩阵分解)、Jacobi迭代法、Seidel迭代法、松弛法求解,并比较收敛速度。 消去法: x=a\d 或 [L,U]=lu(a); x=inv(U)inv(L)d Jacobi迭代法: function s=jacobi(a,d,x0) D=diag(diag(a)); U=-triu(a,1); L=-tril(a,-1); C=inv(D); B=C*(L+U); G=C*d; s=B*x0+G; n=1; while norm(s-x0)>=1.0e-8 x0=s; s=B*x0+G;

10424-数学建模-第一章 线性规划

第一章 线性规划 §1 线性规划 在人们的生产实践中,经常会遇到如何利用现有资源来安排生产,以取得最大经济效益的问题。此类问题构成了运筹学的一个重要分支—数学规划,而线性规划(Linear Programming 简记LP)则是数学规划的一个重要分支。自从1947年G. B. Dantzig 提出求解线性规划的单纯形方法以来,线性规划在理论上趋向成熟,在实用中日益广泛与深入。特别是在计算机能处理成千上万个约束条件和决策变量的线性规划问题之后,线性规划的适用领域更为广泛了,已成为现代管理中经常采用的基本方法之一。 1.1 线性规划的实例与定义 例1 某机床厂生产甲、乙两种机床,每台销售后的利润分别为4000元与3000元。生产甲机床需用B A 、机器加工,加工时间分别为每台2小时和1小时;生产乙机床需用C B A 、、三种机器加工,加工时间为每台各一小时。若每天可用于加工的机器时数分别为A 机器10小时、B 机器8小时和C 机器7小时,问该厂应生产甲、乙机床各几台,才能使总利润最大? 上述问题的数学模型:设该厂生产1x 台甲机床和2x 乙机床时总利润最大,则21,x x 应满足 (目标函数)2134max x x z += (1) s.t.(约束条件)???????≥≤≤+≤+0 ,781022122 121x x x x x x x (2) 这里变量21,x x 称之为决策变量,(1)式被称为问题的目标函数,(2)中的几个不等式 是问题的约束条件,记为s.t.(即subject to)。由于上面的目标函数及约束条件均为线性函数,故被称为线性规划问题。 总之,线性规划问题是在一组线性约束条件的限制下,求一线性目标函数最大或最小的问题。 在解决实际问题时,把问题归结成一个线性规划数学模型是很重要的一步,但往往也是困难的一步,模型建立得是否恰当,直接影响到求解。而选适当的决策变量,是我们建立有效模型的关键之一。 1.2 线性规划的Matlab 标准形式 线性规划的目标函数可以是求最大值,也可以是求最小值,约束条件的不等号可以是小于号也可以是大于号。为了避免这种形式多样性带来的不便,Matlab 中规定线性规划的标准形式为 b Ax x c x T ≤ that such min 其中c 和x 为n 维列向量,b 为m 维列向量,A 为n m ?矩阵。 例如线性规划 b Ax x c x T ≥ that such max 的Matlab 标准型为

10909-数学建模-应用MATLAB建模的一个例子

应用MATLAB 的一个例子 ——数学也是一门技术 王天顺 整理 本来想用 “数学也是一门技术”作题目,主要是基于两点,一是从数学的应用角度,它的确具备了作为一门技术的特征,这也就是今天我要通过一个例子要表达的;二是咱们在座的大多数都是从事职业教育的老师,不知道我理解得是不是正确,职业教育与普通教育的区别是较为侧重于教授技术,我主观上感觉这个题目和大家的关系更紧密一些。但是,这个题目有点太大了!和领导商量了一下还是换个题目吧。 首先可以证明:数学确是一门技术,比如说要从技术的定义入手,流行的做法是:查查《辞海》,查查相关的如《科学学辞典》和《科技辞典》等等,看看他们是怎样给技术定义的;其次,论述一下数学的确是符合这些定义的。 实际上,我也确实查阅过这些资料,可以说没有问题,一定可以找到证据证明这个论断! 注:“技术”一词的中文解释有两种,一种是以《辞海》为代表的解释,把技术定义为:(1 )泛指根据生产实践经验和自然科学原理而发展成的各种工艺操作方法与技能;(2)除操作技能外, 广义的还包括相应的生产工具和其他物质设备,以及生产的工艺过程或作业程序、方法。另一种是以《科学学辞典》和《科技辞典》为代表的解释,把技术定义为:是为社会生产和人类物质文化生活需要服务的,供人类利用和改造自然的物质手段、智能手段和信息手段的总和。 可见, “技术”一词所包含的内容除了有形的物化形态之外,还包括无形的智能形态方面。无形的智能形态的技术是客观存在的,在某种意义上说,这方面技术的作用并不亚于物化形态的技术,更不能为物化形态技术所取代(背景资料)。因此,有关“技术”的涵义,有人概括为:指的是有形的物化技术和无形的智能技术的总和。 当然,容易想到我们把数学看作一门技术,可能更多的是从技术的无形“智能形态”角度论述的。我想这只是他的一个方面,今天先给各位介绍的是一个例子,展现他的另一个方面,用数学(包括相关的软件)去解决一个实际问题,其过程就像“传统的”、物化形态的技术一样;其次,结合上述例子,探讨有关数学建模及相关培训指导工作的一般原则和步骤,谈一点个人对此项工作的认识;最后,介绍我校的这些年数学建模培训工作的一些具体做法。 一、足球比赛中的吊门问题 1. 问题:只考虑如下的因素:球与球门的距离为a ,守门员与球门的距离为b (假设在调 门过程中,守门员不能移动),球门高h ,守门员最大摸高H ,球出脚的初速度为0v ,与水平方向的夹角为α(称为初射角).针对下列数据求能吊门成功的α,h=2.44m ,H=3.20m ,s m v /300= ,重力加速度g=10m/s 2,针对下列几组数据分别给出具体能吊门成功的相应初射角范围,要求精度在小数点后第4位。 (1) a=6m ,b=1m ; (2) a=10m ,b=3m ; (3) a=20m ,b=5m ; 2. 问题分析 (1) 在不考虑空气阻力的情况下,抛射体的运动轨迹是抛物线:

数学模型姜启源第四版答案

数学模型姜启源第四版答案 【篇一:姜启源数学模型课后答案(3版)】 t>第二章(1)(2008年9月16日) 1.学校共1000名学生,235人住在a宿舍,333人住在b宿舍,432人住在c宿舍.学生们 要组织一个10人的委员会,试用下列办法分配各宿舍的委员数:(1). 按比例分配取整数的名额后,剩下的名额按惯例分给小数部分 较大者; (2). 1中的q值方法; (3).d’hondt方法:将a、b、c各宿舍的人数用正整数n=1,2,3,??相除,其商数如下表: 将所得商数从大到小取前10个(10为席位数),在数字下标以横线,表中a、b、c行有横线的数分别为2,3,5,这就是3个宿舍 分配的席位.你能解释这种方法的道理吗? 如果委员会从10个人增至15人,用以上3种方法再分配名额,将 3种方法两次分配的结果列表比较. 解:先考虑n=10的分配方案, 3 p1?235,p2?333,p3?432, ?pi?1000. i?1 方法一(按比例分配) q1? p1n 3 ?2.35,q2? p2n 3 ?3.33, q3? p3n 3 ?4.32 ? i?1 pi ? i?1 pi

i?1 pi 分配结果为: n1?3, n2?3, n3?4 方法二(q值方法) 9个席位的分配结果(可用按比例分配)为: n1?2,n2?3, n3?4 第10个席位:计算q值为 q1? 235 2 2?3 ?9204.17, q2? 333 2 3?4 ?9240.75, q3? 432 2 4?5 ?9331.2 q3最大,第10个席位应给c.分配结果为 n1?2,n2?3,n3?5 方法三(d’hondt方法) 此方法的分配结果为:n1?2,n2?3,n3?5 此方法的道理是:记pi和ni为各宿舍的人数和席位(i=1,2,3代表a、b、c宿舍). pini pini pini 是 每席位代表的人数,取ni?1,2,?,从而得到的近. 中选较大者,可使对所有的i,尽量接 再考虑n?15的分配方案,类似地可得名额分配结果.现将3种方法两次分配的结果列表如下: 2.试用微积分方法,建立录像带记数器读数n与转过时间的数学模型. 解:设录像带记数器读数为n时,录像带转过时间为t.其模型的假设见课本. 考虑t到t??t时间内录像带缠绕在右轮盘上的长度,可得 vdt?(r?wkn)2?kdn,两边积分,得 ?vdt?2?k?(r?wkn)dn t

matlab数学建模实例

第四周 3. function y=mj() for x0=0:0.01:8 x1=x0^3-11.1*x0^2+38.79*x0-41.769; if (abs(x1)<1.0e-8) x0 end end 4.分别用简单迭代法、埃特金法、牛顿法求解方程,并比较收敛性与收敛速度( 分别取10-3、10-5、10-8)。 简单迭代法: function y=jddd(x0) x1=(20+10*x0-2*x0^2-x0^3)/20; k=1; while (abs(x1-x0)>=1.0e-3) x0=x1; x1=(20+10*x0-2*x0^2-x0^3)/20;k=k+1; end x1 k 埃特金法: function y=etj(x0) x1=(20-2*x0^2-x0^3)/10; x2=(20-2*x1^2-x1^3)/10; x3=x2-(x2-x1)^2/(x2-2*x1+x0); k=1; while (abs(x3-x0)>=1.0e-3) x0=x3; x1=(20-2*x0^2-x0^3)/10; x2=(20-2*x1^2-x1^3)/10; x3=x2-(x2-x1)^2/(x2-2*x1+x0);k=k+1; end x3 k 牛顿法: function y=newton(x0)

x1=x0-fc(x0)/df(x0); k=1; while (abs(x1-x0)>=1.0e-3) x0=x1; x1=x0-fc(x0)/df(x0);k=k+1; end x1 k function y=fc(x) y=x^3+2*x^2+10*x-20; function y=df(x) y=3*x^2+4*x+10; 第六周 1.解例6-4(p77)的方程组,分别采用消去法(矩阵分解)、Jacobi迭代法、Seidel迭代法、松弛法求解,并比较收敛速度。 消去法: x=a\d 或 [L,U]=lu(a); x=inv(U)inv(L)d Jacobi迭代法: function s=jacobi(a,d,x0) D=diag(diag(a)); U=-triu(a,1); L=-tril(a,-1); C=inv(D); B=C*(L+U); G=C*d; s=B*x0+G; n=1; while norm(s-x0)>=1.0e-8 x0=s; s=B*x0+G; n=n+1; end n Seidel迭代法: function s=seidel(a,d,x0) D=diag(diag(a)); U=-triu(a,1); L=-tril(a,-1);

matlab数学建模实例

m a t l a b数学建模实例集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

第四周3. function y=mj() for x0=0::8 x1=x0^*x0^2+*; if (abs(x1)< x0 end end 4.分别用简单迭代法、埃特金法、牛顿法求解方程,并比较收敛性与收敛速度(分别取10-3、10-5、10-8)。 简单迭代法: function y=jddd(x0) x1=(20+10*x0-2*x0^2-x0^3)/20; k=1; while (abs(x1-x0)>= x0=x1; x1=(20+10*x0-2*x0^2-x0^3)/20;k=k+1; end x1 k 埃特金法: function y=etj(x0) x1=(20-2*x0^2-x0^3)/10; x2=(20-2*x1^2-x1^3)/10; x3=x2-(x2-x1)^2/(x2-2*x1+x0); k=1; while (abs(x3-x0)>= x0=x3; x1=(20-2*x0^2-x0^3)/10; x2=(20-2*x1^2-x1^3)/10; x3=x2-(x2-x1)^2/(x2-2*x1+x0);k=k+1; end x3 k 牛顿法: function y=newton(x0) x1=x0-fc(x0)/df(x0);

k=1; while (abs(x1-x0)>= x0=x1; x1=x0-fc(x0)/df(x0);k=k+1; end x1 k function y=fc(x) y=x^3+2*x^2+10*x-20; function y=df(x) y=3*x^2+4*x+10; 第六周 1.解例6-4(p77)的方程组,分别采用消去法(矩阵分解)、Jacobi迭代法、Seidel迭代法、松弛法求解,并比较收敛速度。 消去法: x=a\d 或 [L,U]=lu(a); x=inv(U)inv(L)d Jacobi迭代法: function s=jacobi(a,d,x0) D=diag(diag(a)); U=-triu(a,1); L=-tril(a,-1); C=inv(D); B=C*(L+U); G=C*d; s=B*x0+G; n=1; while norm(s-x0)>= x0=s; s=B*x0+G; n=n+1; end n Seidel迭代法: function s=seidel(a,d,x0) D=diag(diag(a));

最新第一章-线性规划问题及其数学模型

第一章线性规划问题及其数学模型 一、问题的提出 在生产管理和经营活动中经常提出一类问题,即如何合理地利用有限的人力、物力、财力等资源,以便得到最好的经济效果。 例1 某工厂在计划期内要安排生产I、II两种产品,已知生产单位产品所需的设备台时及A、B两种原材料的消耗,如表1-1所示。 表1-1 该工厂每生产一件产 品I可获利2元,每生 产一件产品II可获利3 元,问应如何安排计划使该工厂获利最多?这问题可以用以下的数学模型来描述,设x1、x2分别表示在计划期内产品I、II的产量。因为设备的有效台时是8,这是一个限制产量的条件,所以在确定产品I、II的产量时,要考虑不超过设备的有效台时数,即可用不等式表示为: x1+2x2≤8 同理,因原材料A、B的限量,可以得到以下不等式 4x1≤16 4x2≤12 该工厂的目标是在不超过所有资源限量的条件下,如何确定产量x1、x2以得到最大的利润。若用z表示利润,这时z=2x1+3x2。综合上述,该计划问题可用数学模型表示为: 目标函数max z=2x1+3x2 满足约束条件x1+2x2≤8 4x1≤16 4x2≤12

x 1、x 2≥0 例2 某铁路制冰厂每年1至4季度必须给冷藏车提供冰各为15,20,25,10kt 。已知该厂各季度冰的生产能力及冰的单位成本如表6-26所示。如果生产出来的冰不在当季度使用,每千吨冰存贮一个季度需存贮费4千元。又设该制冰厂每年第3季度末对贮冰库进行清库维修。问应如何安排冰的生产,可使该厂全年生产费用最少? 解:由于每个季度生产出来的冰不一定当季度使用,设x ij 为第i 季度生产的用于第j 季度的冰的数量。按照各季度冷藏车对冰的需要量,必须满足: ?????? ?++++++33 23134322124211 4144 x x x x x x x x x x 。 ,, ,25201510==== 又每个季度生产的用于当季度和以后各季度的冰的数量不可能超过该季度的生产能力,故又有 ?????? ?++++++33 232213 121143424144x x x x x x x x x x 。 ,, ,16182515≤≤≤≤ 第i 季度生产用于第j 季度的冰的实际成本c ij 应该是该季度冰的生产成本加上存贮费用。对不可能的用冰方案,例如第一季度生产的冰存贮到第四季度用,其x ij =0,c ij =M (充分大的正数)。同时注意到这是一个产销不平衡问题,总的生产能力大于总的销量,应该增加一个虚销点,并令c ij =0(i =1,2,3,4)。

数学建模_SIR数学模型的建立

传染病模型 医学科学的发展已经能够有效地预防和控制许多传染病,但是仍然有一些传染病暴发或流行,危害人们的健康和生命。 社会、经济、文化、风俗习惯等因素都会影响传染病的传播,而最直接的因素是:传染者的数量及其在人群中的分布、被传染者的数量、传播形式、传播能力、免疫能力等。 一般把传染病流行范围内的人群分成三类:S类,易感者(Susceptible),指未得病者,但缺乏免疫能力,与感染者接触后容易受到感染;I类,感病者(Infective),指染上传染病的人,它可以传播给S类成员;R类,移出者(Removal),指被隔离或因病愈而具有免疫力的人。 问题提出 ?请建立传染病模型,描述传染病的传播过程,分析受感染人数的变化规律以及被传染的人数与哪些因素有关?如何预报传染病高潮的到来?为什么同一地区一种传染病每次流行时,被传染的人数大致不变?按照传播过程的一般规律,用机理分析方法建立模型 问题分析: 关键字: 社会、经济、文化、风俗习惯等因素 摘要: 随着卫生设施的改善、医疗水平的提高以及人类文明的不断发展,诸如霍乱、天花等曾经肆虐全球的传染性疾病已经得到有效的控制。但是一些新的、不断变异着的传染病毒却悄悄向人类袭来。20世纪80年代十分险恶的爱滋病毒开始肆虐全球,至今带来极大的危害。长期以来,建立制止传染病蔓延的手段等,一直是各国有关专家和官员关注的课题。不同类型传染病的传播过程有其各自不同的特点,弄清这些特点需要相当多的病理知识,这里不可能从医学的角度一一分析各种传染病的传播,而只是按照一般的传播模型机理建立几种模型。

数学建模 模型1 在这个最简单的模型中,设时刻t 的病人人数x(t)是连续、可微函数, 增加,就有 病人人数的到考察的人数为常数足使人致病接触并且每天每个病人有效t t t ?+λ) ( t t x t x t t x ?=-?+)()()(λ 程有个病人,即得微分方时有再设00x t = )1()0(,d d 0x x x t x ==λ 方程(1)的解为 )2()(0t e x t x λ= 结果表明,随着t 的增加,病人人数x(t)无限增长,这显然是不符合实际的。 建模失败的原因在于:在病人有效接触的人群中,有健康人也有病人,而其中只有健康人才可以被传染为病人,所以在改进的模型中必须区别这两种人。 模型2 SI 模型 假设条件为 1.在疾病传播期内所考察地区的总人数N 不变,即不考虑生死,也不考虑迁移。人群分为易感染者(Susceptible )和已感染者(Infective )两类(取两个词的第一个字母,称之为SI 模型),以下简称健康者和病人。时刻t 这两类人在总人数中所占比例分别记作s(t)和i(t)。 2.每个病人每天有效接触的平均人数是常数,称为日接触率。当病人与健康者接触时,使健康者受感染变为病人。 的增加率,即有 病人数就是 个健康者被感染,于是有,所以每天共 为变为病人,因为病人数个健康者 天可使根据假设,每个病人每Ni Nsi t i t Ns t Ni t s λλλ)()()()( ) 3(d d Nsi t i N λ=)4(1)()(=+t i t s ,则 病人的比例为再记初始时刻0)0(i t =)5()0(,)1(d d 0i i i i t i =-=λ 方程(5)是Logistic 模型。它的解为 )6(1111 0t e i λ-???? ??-+所示。和图的图形如图和21~d d ~)(i t i t t i

相关文档
最新文档