文档库 最新最全的文档下载
当前位置:文档库 › 报童问题模型matlab实现

报童问题模型matlab实现

报童问题模型matlab实现
报童问题模型matlab实现

《系统仿真与Matlab》综合试题

题目:报童问题模型

编号:(1)

难度系数:

姓名XXXX

班级自动化1306

学号XXXXXXX

联系方式XXXXXXX

成绩

目录

一. 问题描述 (2)

二. 数学建模 (2)

三. 关键难点 (4)

四. 程序运行指南 (4)

五. 程序运行实例分析 (7)

一. 问题描述

报童每天清晨从报社购进报纸零售,晚上将没有卖掉的报纸退回。设报纸每份的购进价为b ,零售价为a ,退回价为c ,应该自然地假设为a b c 。这就是说,报童售出一份报纸赚a b ,退回一份赔b c 。报童每天如果购进的报纸太少,不够卖的,会少赚钱;如果购进太多,卖不完,将要赔钱。请你为报童筹划一下,他应如何确定每天购进报纸的数量,以获得最大的收入。

二. 数学建模

【模型假设】

1. 众所周知,应该根据需求量确定购进量。需求量是随机的,假定报童已经通过自己的经

验或其它的渠道掌握了需求量的随机规律,即在他的销售范围内每天报纸的需求量为r 份的概率是),2,1,0)(( r r f 。有了)(r f 和a ,b,c,就可以建立关于购进量的优化模型了。

2. 假设每天购进量为n 份,因为需求量r 是随机的,r 可以小于n ,等于n 或大于n ,致使

报童每天的收入也是随机的,所以作为优化模型的目标函数,不能是报童每天的收入,而应该是他长期(几个月,一年)卖报的日平均收入。从概率论大数定律的观点看,这相当于报童每天收入的期望值,即平均收入。

【模型的建立与求解】

记报童每天购进n 份报纸时的平均收入为G(n),如果这天的需求量r≤n,则他售出r 份,退回n-r 份;如果这天的需求量r>n,则n 份将全部售出,考虑到需求量为r 的概率是f(r),所以

1

(n)[()(b c)(n r)]f(r)(a b)nf(r)n r r n G a b r

(1)

问题归结为在f(r),a,b,c 已知时,求n 使G(n)最大。

通常需求量r 的取值和购进量n 都相当大,将r 视为连续变量更便于分析和计算,这时概率f(r)转换成概率密度函数p(r),(1)式变成

0(n)[(a b)r (b c)(n r)]p(r)dr (a b)(r)dr n

n G np

(2)

计算

00(a b)np(n)(b c)p(r)dr

(a b)np(n)(a b)(r)dr

()(r)dr (a b)()n n n

n dG

dn

p b c p p r dr

0,dG

dn

得到

0()(r)dr

n

n

p r dr

a b

b c

p

(3) 使报童日平均收入达到最大的购进量n 应满足(3)式。因为0

(r)dr 1,p

所以(3)式又

可以表为

(r)dr n

a b

p a c

(4) 根据需求量的概率密度p(r)的图形很容易从(3)式确定购进量n 。在下图中用P1,P2分别表示曲线p(r)下的两块面积,则(3)式可记作

1

2P a b P b c

(5)

因为当购进n 份报纸时,10

(r)dr n

P p

是需求量r 不超过n 的概率,即卖不完的概率;

2(r)dr n P p

是需求量r 超过n 的概率,即卖完的概率,所以(3)式表明,购进的份数

n 应该使卖不完与卖完的概率之比,恰好等于卖出一份赚的钱a-b 与退回一份赔的钱b-c 之比。显然,当报童与报社签订的合同使报童每份赚钱与赔钱之比越大时,报童购进的份数就应该越多。

以 P=0

(r)dr n

a b

p a c

为切入点求解问题,P 称为目标概率。

三. 关键难点

1. 要求能够灵活更改零售价a 、购进价b 、退回价c 的数值。

2. 为了充分模拟现实环境,需提供多种报纸需求量的概率模型;根据f(r)的不同,f(r)

须输入的参数个数及输入数值、程序要调用的计算函数各不相同。

3. 仿真过程中,购进报纸数量n 从零开始增加,需在坐标轴上做出概率1P (左边阴影部分)随n 动态变化的动态效果。

4. 计算出购进报纸数量n ,还需验证n 是否能使日收入期望值达到最大。在n 的结果

输出框(亦为n 值的输入框)输入给定n 值,通过Test 按键可计算出相应的日收入期望G(n).

5. 为证明n 值的唯一性,做出日收入期望G(n)随购进报纸数量n 变化的二维图形,可

以看出存在唯一的n 使G(n)最大。

四. 程序运行指南

一.打开‘Newspaper.m ’文件,直接点击“Run ”运行。

二. 程序的各项参数均已设置好默认参数。

1.直接点击Start可计算出使收入最大的n值和收入期望值G(n);(注意:计算

未完成前不要进行操作)

2.直接点击Plot可以绘制日期望收入G(n)与n的函数关系图。

(期望收入和购进报纸数量n的函数图证明存在唯一的n使每天的收入最大,n在220附近.)

3.先在n的输出框中输入要购进的报纸数量n,点击Test键可得出该决策获得的日期望收入。

(此时假设报童购进报纸数量为150,Test计算出报童每天的期望收入是29.4)

三. 右侧面板是设置各种输入参数的面板,上面是“零售价a,购进价b,退回价c”的输入面板,注意要满足输入条件a>b>c;在弹出菜单中可选择需求量的模型f(r),选定模型后,参数的输入面板在下方显示,重新输入参数即可更改分布模型的参数。

四.设置好参数后,可按照第二步的方法来运行程序和计算、输出结果。

五. 程序运行实例分析

一. 按照程序默认的参数设置运行程序。

输入参数:

20.7

()~N(200,40)

c f r 零售价a=1.0

购进价b=0.8

退回价

1.单击‘Start’运行

底部面板为结果输出框,运算中n 由0到217动态增加,P1为图中的阴影部分

的面积,阴影随n 逐渐扩大,呈现出动画效果,同时P1的数值与阴影联动,动态

增加。

该图是最终的运行结果,n的最优解是217,此时报童每天的期望收入是35.7362元。

2.单击‘Plot’画出日期望收入G(n)与购进报纸数量n的函数关系图。

计算机绘图过程中有进度条弹出,作为进度提示。

坐标轴中显示G(n)—n的关系图,G(n)有最大值,G(n)取得最大值时n在220附近。图中X,Y轴的标签已改变。

3.用‘Test’检验n值。分别设置n=216,n=218,n=219,然后单击‘Test’.

分别有G(216)=35.7328,G(218)=35.7368,G(219)=35.7347.可知G(218)=35.7368>G(217)=35.7362,利用‘Test’可对n做修正,此时n修正为218,G(n)

修正为35.7368.

二.修改默认参数设置,修改输入参数查看结果。

① 输入参数:

0.5()~P(300)

c f r 零售价a=1.5

购进价b=0.8

退回价

输出参数:

309,(n)203.9494n G

‘Test’检验:

G(308)=203.9402,G(309)=203.9494,G(310)203.9388

即问题的最优解是n=309,G(n)=203.9494.

② 输入参数:

0.8()~U(100,500)

c f r 零售价a=2.0

购进价b=1.6

退回价

输出参数:

n G

233,(n)66.7

‘Test’检验:

G(232)=66.698,G(233)=66.7,G(234)=66.699

即问题的最优解是n=233,G(n)=66.7.

说明:如需m文件源码可联系邮箱 strong1994@https://www.wendangku.net/doc/c04288927.html,

matlab传染病模型

传染病模型实验 实验目的: 理解传染病的四类模型,学会利用Matlab软件求解微分方程(组)。 实验题目: 利用Matlab求解传染病的SIS微分方程模型,并绘制教材P139页图3-图6。 SIS模型 假设: (1)、t时刻人群分为易感者(占总人数比例的s(t))和已感染者(占总人数比例的i(t))。 (2)、每个病人每天有效接触的平均人数是常数λ,λ称为日接触率,当健康者与病人接触时,健康者受感染成为病人。 (3)、病人每天被治愈的占病人总数的比例为μ,称为日治愈率,显然1 为这种传染病的平均传染期。 μ 则建立微分方程模型为: 令,则模型可写作 分别作图: 页脚内容1

当sigma>1时 Step1:先定义函数 function y=pr1(i,lambda,sigma) y=-lambda.*i.*(i-(1-1./sigma)) step2:作图 lambda=0.3;sigma=2; i=0:0.01:1; y=pr1(i,lambda,sigma) plot(i,y) 页脚内容2

页脚内容3 00.10.20.30.40.50.60.70.80.91 -0.16 -0.14-0.12-0.1-0.08-0.06-0.04-0.020 0.02 当sigma<1时 Step1:先定义函数 function y=pr1(i,lambda,sigma) y=-lambda.*i.*(i-(1-1./sigma)) step2:作图 lambda=0.3;sigma=0.5; i=0:0.01:1; y=pr1(i,lambda,sigma) plot(i,y)

交通流中的nasch模型及matlab代码元胞自动机

元胞自动机NaSch模型及其MATLAB代码 作业要求 根据前面的介绍,对NaSch模型编程并进行数值模拟: ●模型参数取值:Lroad=1000,p=0.3,Vmax=5。 ●边界条件:周期性边界。 ●数据统计:扔掉前50000个时间步,对后50000个时间步进行统计,需给出的 结果。 ●基本图(流量-密度关系):需整个密度范围内的。 ●时空图(横坐标为空间,纵坐标为时间,密度和文献中时空图保持一致, 画 500个时间步即可)。 ●指出NaSch模型的创新之处,找出NaSch模型的不足,并给出自己的改进思 路。 ●流量计算方法: 密度=车辆数/路长; 流量flux=density×V_ave。 在道路的某处设置虚拟探测计算统计时间T内通过的车辆数N; 流量flux=N/T。 ●在计算过程中可都使用无量纲的变量。 1、NaSch模型的介绍 作为对184号规则的推广,Nagel和Schreckberg在1992年提出了一个模拟车辆交通的元胞自动机模型,即NaSch模型(也有人称它为NaSch模型)。 ●时间、空间和车辆速度都被整数离散化。

● 道路被划分为等距离的离散的格子,即元胞。 ● 每个元胞或者是空的,或者被一辆车所占据。 ● 车辆的速度可以在(0~Vmax )之间取值。 2、NaSch 模型运行规则 在时刻t 到时刻t+1的过程中按照下面的规则进行更新: (1)加速:),1min(max v v v n n +→ 规则(1)反映了司机倾向于以尽可能大的速度行驶的特点。 (2)减速:),min(n n n d v v → 规则(2)确保车辆不会与前车发生碰撞。 (3)随机慢化: 以随机概率p 进行慢化,令:)0, 1-min(n n v v → 规则(3)引入随机慢化来体现驾驶员的行为差异,这样既可以反映随机加速行为, 又可以反映减速过程中的过度反应行为。这一规则也是堵塞自发产生的至关重要因素。 (4)位置更新:n n n v x v +→ ,车辆按照更新后的速度向前运动。 其中n v ,n x 分别表示第n 辆车位置和速度;l (l ≥1)为车辆长度; 11--=+n n n x x d 表示n 车和前车n+1之间空的元胞数;p 表示随机慢化概率;max v 为最大速度。 3、NaSch 模型实例 根据题目要求,模型参数取值:L=1000,p=0.3,Vmax=5,用matlab 软件进行编程,扔掉前11000个时间步,统计了之后500个时间步数据,得到如下基本图和时空图。 3.1程序简介 初始化:在路段上,随机分配200个车辆,且随机速度为1-5之间。 图3.1.1是程序的运行图,图3.1.2中,白色表示有车,黑色是元胞。

应用matlab求解约束优化问题

应用matlab求解约束优化问题 姓名:王铎 学号: 2007021271 班级:机械078 上交日期: 2010/7/2 完成日期: 2010/6/29

一.问题分析 f(x)=x1*x2*x3-x1^6+x2^3+x2*x3-x4^2 s.t x1-x2+3x2<=6 x1+45x2+x4=7 x2*x3*x4-50>=0 x2^2+x4^2=14 目标函数为多元约束函数,约束条件既有线性约束又有非线性约束所以应用fmincon函数来寻求优化,寻找函数最小值。由于非线性不等式约束不能用矩阵表示,要用程序表示,所以创建m文件其中写入非线性不等式约束及非线性等式约束,留作引用。 二.数学模型 F(x)为目标函数求最小值 x1 x2 x3 x4 为未知量 目标函数受约束于 x1-x2+3x2<=6 x1+45x2+x4=7 x2*x3*x4-50>=0 x2^2+x4^2=14 三.fmincon应用方法 这个函数的基本形式为 x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options) 其中fun为你要求最小值的函数,可以单写一个文件设置函数,也可是m文件。 1.如果fun中有N个变量,如x y z, 或者是X1, X2,X3, 什么的,自己排个顺序,在fun中统一都是用x(1),x(2)....x(n) 表示的。 2. x0, 表示初始的猜测值,大小要与变量数目相同 3. A b 为线性不等约束,A*x <= b, A应为n*n阶矩阵。 4 Aeq beq为线性相等约束,Aeq*x = beq。 Aeq beq同上可求 5 lb ub为变量的上下边界,正负无穷用 -Inf和Inf表示, lb ub应为N阶数组 6 nonlcon 为非线性约束,可分为两部分,非线性不等约束 c,非线性相等约束,ceq 可按下面的例子设置 function [c,ceq] = nonlcon1(x) c = [] ceq = [] 7,最后是options,可以用OPTIMSET函数设置,具体可见OPTIMSET函数的帮助文件。 四.计算程序

数学建模 matlab求解线性规划实验报告

实验三 线性规划 程序: linprog c=[-0.4 -0.28 -0.32 -0.72 -0.64 -0.6]; A=[0.01 0.01 0.01 0.03 0.03 0.03;0.02 0 0 0.05 0 0;0 0.02 0 0 0.05 0;0 0 0.03 0 0 0.08]; b=[850;700;100;900]; Aeq=[]; beq=[]; vlb=[0;0;0;0;0;0]; vub=[]; [x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub) Exam5: function f=fun3(x); f=-x(1)-2*x(2)+(1/2)*x(1)^2+(1/2)*x(2)^2 实验目的 2、掌握用数学软件包求解线性规划问题。 1、了解线性规划的基本内容。 例1 max 6543216.064.072.032.028.04.0x x x x x x z +++++= 85003.003.003.001.001.001.0..654321≤+++++x x x x x x t s 70005.002.041≤+x x 10005.002.052≤+x x 90008.003.063≤+x x 6,2,10 =≥j x j

x0=[1;1]; A=[2 3 ;1 4]; b=[6;5]; Aeq=[];beq=[]; VLB=[0;0]; VUB=[]; [x,fval]=fmincon('fun3',x0,A,b,Aeq,beq,VLB,VUB) 书 求下列非线性规划 2221232212322 1232 12223123min 8020 ..2023,,0x x x x x x x x x s t x x x x x x x +++?-+≥?++≤??--+=??+=? ?≥? 在Matlab 2013软件中输入如下程序: (i )编写M 文件fun1.m 定义目标函数 function f=fun1(x); f=sum(x.^2)+8; (ii )编写M 文件fun2.m 定义非线性约束条件 function [g,h]=fun2(x); g=[-x(1)^2+x(2)-x(3)^2 x(1)+x(2)^2+x(3)^3-20]; %非线性不等式约束 h=[-x(1)-x(2)^2+2 x(2)+2*x(3)^2-3]; %非线性等式约束 (iii )编写主程序文件example2.m 如下: options=optimset('largescale','off'); [x,y]=fmincon('fun1',rand(3,1),[],[],[],[],zeros(3,1),[], ... 'fun2', options) 就可以求得当1230.5522 1.2033,,0.9478x x x ===时,最小值y =10.6511。 4. 选修课的策略 决策目标为选修的课程总数最少,即 921min x x x +++ 约束条件: (1) 满足课程要求:(至少2门数学课程,3门运筹学课程和2门计算机课程)

报童数学建模

报童卖报 国贸系报关班:王曦 法学系行政法务一班:何国泽 一、问题: 报童每天清晨从报社购进报纸零售,晚上将没有卖掉的报纸退回。设报纸每份的购进价为b ,零售价为a ,退回价为c ,假设a>b>c 。即报童售出一份报纸赚a-b ,退回一份赔b-c 。报童每天购进报纸太多,卖不完会赔钱;购进太少,不够卖会少挣钱。试为报童筹划一下每天购进报纸的数量,以获得最大收入。 二、模型分析: 购进量由需求量确定,需求量是随机的。假定报童已通过自己的经验或其他渠道掌握了需求量的随机规律,即在他的销受范围内每天报纸的需求量为 r 份的概率是f(r)(r=0,1,2…)有了f(r),a 和b,c 就可以建立关于购进量的优化模型。 三、模型建立: 假设每天购进量是n 份,需求量是随机的,r 可以小于,等于或大于n, ,所以报童每天的收入也是随机的。那么,作为优化模型的目标函数,不能取每天的收入,而取长期卖报(月,年)的日平均收入。从概率论大数定律的观点看,这相当于报童每天收入的期望值,简称平均收入。 记报童每天购进n 份报纸的平均收入为G(n), 如果这天的需求量r<=n, 则售出r 份,退回n-r 份;如果需求量人r>n,则r 份将全部售出。需求量为r 的概率是f(r),则 问题归结为在()c b a r f ,,,已知时,求n 是G(n)最大。 四、模型求解: 购进量n 都相当大,将r 视为连续变量便于分析和计算,这时概率f(r)转化为概率密度函数p(r) 计算 令0=dn dG 得dn dG ()()()()()()dr r p b a dr r p c b n np c a n n ??∞-+---=02 得到()()c b b a dr r p dr r p n n --=??∞ n 应满足上式。()10=?∞ dr r p 使报童日平均收入达到最大的购进量为 ()c a b a dr r p n --=?0 根据需求量的概率密度p(r)的图形可以确定购进量n 在图中用p1,p2分别

实验一 用MATLAB处理系统数学模型

实验一用MATLAB处理系统数学模型 一、实验原理 表述线性定常系统的数学模型主要有微分方程、传递函数、动态结构图等.求拉氏变换可用函数laplace(ft,t,s),求拉式反变换可用函数illaplace(Fs,s,t);有关多项式计算的函数主要有roots(p),ploy(r),conv(p,q),ployval(n,s);求解微分方程可采用指令 s=dslove(‘a_1’,’a_2’,’···,’a_n’);建立传递函数时,将传递函数的分子、分母多项式的系数写成两个向量,然后用tf()函数来给出,还可以建立零、极点形式的传递函数,采用的函数为zpk(z,p,k);可用函数sys=series(sys1,sys2)来实现串联,用 sys=parallel(sys1,sys2)来实现并联,可用函数sys=feedback(sys1,sys2,sign)来实现系统的反馈连接,其中sign用来定义反馈形式,如果为正反馈,则sign=+1,如果为负反馈,则sign=-1。 二、实验目的 通过MATLAB软件对微分方程、传递函数和动态结构图等进行处理,观察并分析实验结果。 三、实验环境 MATLAB2012b 四、实验步骤 1、拉氏变换 syms s t; ft=t^2+2*t+2; st=laplace(ft,t,s) 2、拉式反变换 syms s t; Fs=(s+6)/(s^2+4*s+3)/(s+2); ft=ilaplace(Fs,s,t) 3、多项式求根 p=[1 3 0 4]; r=roots(p) p=poly(r) 4、多项式相乘 p=[ 3 2 1 ];q=[ 1 4];

利用Matlab求解机械设计优化问题的分析

利用MATLAB求解机械设计优化问题的分析 周婷婷 (能源与动力学院,油气0701) 摘要:MATLAB是目前国际上最流行的科学与工程计算的软件工具, 它具有强大的数值分析、矩阵运算、信号处理、图形显示、模拟仿真和最优化设计等功能。本文浅谈MATLAB在机械设计优化问题的几点应用。 关键词:MATLAB 约束条件机械设计优化 引言:在线性规划和非线性规划等领域经常遇到求函数极值等最优化问题,当函数或约束条件复杂到一定程度时就无法求解,而只能求助于极值分析算法,如果借助计算器进行手工计算的话,计算量会很大,如果要求遇到求解极值问题的每个人都去用BASIC,C和FORTRAN之类的高级语言编写一套程序的话,那是非一朝一日可以解决的,但如用MATLAB语言实现极值问题的数值解算,就可以避免计算量过大和编程难的两大难题,可以轻松高效地得到极值问题的数值解,而且可以达到足够的精度。 1无约束条件的极值问题的解算方法 设有Rosenbrock函数如下: f(X1,X2)=100(X2-X1*X1)2+(1-X1)2 求向量X取何值时,F(x)的值最小及最小值是多少? 先用MATLAB语言的编辑器编写求解该问题的程序如下: %把函数写成MATLAB语言表达式 fun=’100*(X(2)-X(1)*X(1)2+(1-X(1))2 %猜自变量的初值 X0=[-1 2]; %所有选项取默认值 options=[ ]; %调用最优化函数进行计算。 %函数最小值存放在数组元素options(8)中

%与极值点对应的自变量值存放在向量X里 %计算步数存放在数组元素options(10)中 [X,options]=fmins(fun,X0,options); %显示与极值点对应的自变向量X的值。 %显示函数最小值 options(8) %显示函数计算步数 options(10) 把上面这段程序保存为m文件,然后用“Tools”菜单中的“Run”命令行这段程序,就可以轻松的得到如下结果: X=9.999908938395383e-001 9.99982742178110e-001 ans=1.706171071794760e-001 ans=195 显然,计算结果与理论结果的误差小到e-10级,这里调用了MATLAB的最优化函数fmins(),它采用Nelder-Mead的单纯形算法,就是因为这个函数的采用,使最小值问题的解算变得非常简单。 2.带约束条件的极值问题的解法 设目标函数和约束条件如下: f(x) =-3X1+X2+X3 -X1+2X2-X3>= -11 4X1-X2-2X3<=-3 2X1-X3= -1 X1>=0,X2>=0,X3>=0; 求X向量取何值时函数取极小值? 对条件极值问题通常的做法都是将约束条件标准化(即把等式约束条件写成等号为0的形式,把不等式写成<=0的形式)。然后把条件极值问题转换为非条件极值问题,MATLAB也采用同样的做法。

报童问题

关于报童问题的分析 摘要 本文讨论了单周期的随即贮存模型——报童问题。通过运用蒙特卡洛(MC )算法、插值拟合等基本模型,运用概率论与数理统计的背景知识,得出每天报纸需求量的概率分布,建立报童收益模型,以达到报童最大收益为目的,使报童每天的进货量与需求量尽可能地吻合,以使损失最少,收益最大。 在问题一中,首先对题目中给出的报童159天的报纸需求量进行概率分布计算,得出报纸需求量的概率分布)(r f ,...2,1,0=r ,代入建立好的报童收益模型中求出平均收益的最大值7358.33)(=n MaxG ,n r r f = )(,200=n 。 在问题二中,即将第一问中的概率分布)(r f 转化为概率密度)(r p ,在Matlab 工具箱子CFtool 中计算得出此时概率密度为正态分布,将问题一模型中的求和转化为积分,通过对目标求导等手段分析得出每天的报纸进货量n 。其中 2 ) 98 .54)1.190(( )(--=x e r p ,=)(n G ( ) ,=n 关键词 随即贮存,概率分布,概率密度,平均收益

1、问题重述 1.1问题背景 在实际生产生活过程中,经常会遇到一些随时间、地点、背景不同而发生变化的事物,例如报纸的销售的问题。如果报纸的销售量小于需求量,则会给报童带来缺货损失,失去一部分潜在客户,一部分报纸失销(为简化计算,在本模型中我们忽略缺货损失);如果报纸的销售量大于需求量,则会导致一部分报纸被退回报社,给报童造成一部分退货损失,减少盈利。所以在实际考虑中,应使报纸的购入量尽可能地吻合需求量,减少报童的损失,获得更大的盈利。 1.2报童获利途径 报童以每份0.3元的价格买进报纸,以0.5元的价格出售。当天销售不出去的报纸将以每份0.2元的价格退还报社。根据长期统计,假设已经得到了159天报纸需求量的情况。对现有数据分析,得出报童每天最佳买进报纸量,使报童的平均总收入最大。 1.3问题提出 现在需用数学建模解决以下问题: 问题1:若将据报纸需求量看作离散型分布,试根据给出统计数据,求出报纸需求量的分布律,并建立数学模型,确定报童每天买进报纸的数量,使报童的平均总收入最大? 问题2:若将据报纸需求量看作连续型分布,试根据给出的统计数据,进行分布假设检验,确定该报纸需求量的分布,并建立数学模型,确定报童每天买进报纸的数量,使报童的平均总收入最大? 2、模型假设 (1)假设报童在以后的日子里需求量概率分布概率密度遵循这159天的规律(2)假设不考虑缺货损失 (3)假设报童进报纸量达到一定数量后不会产生贮存等其他费用 (4)假设报童每天都能买进计算出来的应进报纸量 3、符号说明 r报纸需求量 f报纸需求量概率分布(离散型) (r ) p报纸需求量概率密度(连续性) (r ) G报童每天购进n份报纸的平均收入 ) (n

用matlab实现碰撞模型程序代码

用m a t l a b实现碰撞模型程序代码 标准化工作室编码[XX968T-XX89628-XJ668-XT689N]

c l c; clear; fill([6,7,7,6],[5,5,0,0],[0,0.5,0]);%右边竖条的填充 holdon;%保持当前图形及轴系的所有特性 fill([2,6,6,2],[3,3,0,0],[0,0.5,0]);%左边竖条的填充 holdon;%保持当前图形及轴系的所有特性 t1=0:pi/60:pi; plot(4-2*sin(t1-pi/2),5-2*cos(t1-pi/2));%绘制中间的凹弧图形gridon;%添加网格线 axis([0,9,0,9]);%定义坐标轴的比例% axis('off');%关闭所有轴标注,标记,背景 fill([1,2,2,1],[5,5,0,0],[0,0.5,0]);%中间长方形的填充 holdon;%保持当前图形及轴系的所有特性 title('碰撞');%定义图题 x0=6; y0=5; head1=line(x0,y0,'color','r','linestyle','.','erasemode','xor','marke rsize',30); head2=line(x0,y0,'color','r','linestyle','.','erasemode','xor','marke rsize',50);%设置小球颜色,大小,线条的擦拭方式 t=0;%设置小球的初始值 dt=0.001;%设置运动周期 t1=0;%设置大球的初始值 dt1=0.001; while1%条件表达式 t=t+dt; x1=9-1*t; y1=5; x3=6; y3=5; ift>0 x2=6; y2=5;%设置小球的运动轨迹 end ift>2.8 t=t+dt; a=sin(t-3); x1=6.1; y1=5.1; x3=4-2*sin(1.5*a); y3=5-2*cos(1.5*a);%设置大球的运动轨迹 end

MATLAB解决线性规划问题

运行环境:Windows+MATLAB 解决问题:线性规划问题(特定题目) 实验简述: MATLAB 可以高效、方便地解决线性规划问题。线性规划是合理利用、调配资源的一种应用数学的方法。它的基本思路就是在满足一定的约束条件下,使预定的目标达到最优。它的研究内容可归纳为两个方面:一是系统的任务已定,如何合理筹划,精细安排,用最少的资源去实现这个任务:二是资源的数量已定,如何利用、分配,使任务完成得最多。前者是求极小,后者是求极大。线性规划是在满足企业内、外部的条件下,实现管理目标和极值问题,就是要以尽少的资源输入来实现更多的社会需要的产品的产出。现在通过专门的数学MATLAB 软件,只要将模型中的目标函数系数、约束条件系数、不等关系输入计算机,就会很快算出结果。 在生活实践中,很多重要的实际问题都是线性的(至少能够用线性函数很好的近似表示),所以我们一般把这些问题化为线性的目标函数和约束条件进行分析,通常将目标函数和约束都是线性表达式的规划问题称为线性规划。 它的一般形式是: ) ,,2,1(0. .min 221122222121112121112211n i x b x a x a x a b x a x a x a b x a x a x a t s x c x c x c f i m n mn m m n n n n n n =>=???????<=+++<=+++<=++++++= 也可以用矩阵形式来表示: 0,..min >=<==x b Ax t s x c f T 线性规划的可行解是满足约束条件的解;线性规划的最优解是使目标函数达到最优的可行解。 线性规划关于解的情况可以是: 1、无可行解,即不存在满足约束条件的解; 2、有唯一最优解,即在可行解中有唯一的最有解; 3、有无穷最优解,即在可行解中有无穷个解都可使目标函数达到最优; 4、有可行解,但由于目标函数值无界而无最优解。 一般求解线性规划的常用方法是单纯形法和改进的单纯形法,这类方法的基

报童 数学建模

报童诀窍 一、问题: 报童每天清晨从报社购进报纸零售,晚上将没有卖掉的报纸退回。设报纸每份的购进价为b ,零售价为a ,退回价为c ,假设a>b>c 。即报童售出一份报纸赚a-b ,退回一份赔b-c 。报童每天购进报纸太多,卖不完会赔钱;购进太少,不够卖会少挣钱。试为报童筹划一下每天购进报纸的数量,以获得最大收入。 二、模型分析: 购进量由需求量确定,需求量是随机的。假定报童已通过自己的经验或其他渠道掌握了需求量的随机规律,即在他的销受范围内每天报纸的需求量为 r 份的概率是f(r)(r=0,1,2…)有了f(r),a 和b,c 就可以建立关于购进量的优化模型。 三、模型建立: 假设每天购进量是n 份,需求量是随机的,r 可以小于,等于或大于n, ,所以报童每天的收入也是随机的。那么,作为优化模型的目标函数,不能取每天的收入,而取长期卖报(月,年)的日平均收入。从概率论大数定律的观点看,这相当于报童每天收入的期望值,简称平均收入。 记报童每天购进n 份报纸的平均收入为G(n), 如果这天的需求量r<=n, 则售出r 份,退回n-r 份;如果需求量人r>n,则r 份将全部售出。需求量为r 的概率是f(r),则 ()()()()[]()()()∑∑=∞ +=-+----= n r n r r nf b a r f r n c b r b a n G 0 1 问题归结为在()c b a r f ,,,已知时,求n 是G(n)最大。 四、模型求解: 购进量n 都相当大,将r 视为连续变量便于分析和计算,这时概率f(r)转化为概率密度函数p(r) ()()()()[]()()()??∞ -+----= n n dr r np b a dr r p r n c b r b a n G 0 计算 ()()()()?-- -=n dr r p c b n np b a dn dG 0()()()()dr r p b a n np b a n ?∞ -+ -- 令0=dn dG 得 dn dG ()()()()()()dr r p b a dr r p c b n np c a n n ??∞-+---=0 2 得到 ()()c b b a dr r p dr r p n n --= ? ?∞ n 应满足上式。()10 =?∞ dr r p 使报童日平均收入达到最大的购进量为 ()c a b a dr r p n --= ? 根据需求量的概率密度p(r)的图形可以确定购进量n 在图中用p1,p2分别表示曲线p(r)下的

飞机碰撞模型

飞机碰撞模型 摘要 第六架在边长为160km的正方形区域内以的飞行角从坐标为(0,0)的点出发,在飞行过程中不与其它五架飞机发生碰撞,即在该区域内与其它任意飞机的距离大于8km,就要不断调整该飞机的飞行角度,使其任意时刻与其他飞机的距离大于8km,利用空间中点的距离定义,计算任意时刻该飞机与其他飞机的距离,找到调整角度的最小值为。 1、问题重述 在约10000km高空的某边长160km的正方形区域内,有5架飞机均以800km/h的速度作水平飞行,不碰撞的标准为在该区域内任意两架飞机的距离大于8km。现有5架飞机在区域内飞行且它们不会碰撞,其初始坐标和飞行方向由下表给出: 现有第6架飞机要进入该区域,坐标为(0,0),飞行角为,如果其与内部的5架飞机发生碰撞,就需要调整其飞行角度,请建立优化模型,确定其与内部5架飞机不碰撞的最小调整角。 2、基本假设 1、五架飞机在规定正方形区域飞行中不随意改变路线; 2、飞机在飞行中不考虑其他未知因素; 3、符号说明 :正方形区域的边长; :第i架飞机飞行的方向角度; :第六架飞机飞行过程中的调整角度; :第架、第架飞机的距离; :第架飞机在区域内飞行的路线长度; :第架飞机的飞行速度; :第架飞机在区域内的飞行时间; :第i架飞机的横坐标; :第i架飞机的纵坐标; 4、模型的建立与求解 1、模型的建立 先根据五架飞机起始点与终点坐标,在规定的网格区域内画出它们的飞行路线,再根据给出的区域长度与各架飞机飞行速度,计算出各架飞机在区域内的飞行时间, 再根据计算得出的时间,得出时刻各架飞机的坐标,求出在该时刻第六架飞机与其他五架飞机的距离 即 当<8时,此时就需要调整第六架飞机的飞行角度,使其与另外五架飞机

实验三统计回归模型Matlab求解

实验三:统计回归模型Matlab求解 一、实验目的 [1] 通过范例学习建立统计回归的数学模型以及求解全过程; [2] 熟悉MATLAB求解统计回归模型的过程。 二、实验原理 问题: 一家技术公司人事部门为研究软件开发人员的薪金与他们的资历、管理责任、教育程度等因素之间的关系,要建立一个数学模型,以便分析公司人事策略的合理性,并作为新聘用人员薪金的参考。他们认为目前公司人员的薪金总体上是合理的,可以作为建模的依据,于是调查来46名软件开发人员的档案资料,如表4,其中资历一列指从事专业工作的年数,管理一列中1表示管理人员,0表示非管理人员,教育一列中1表示中学程度,2表示大学程度,3表示更高程度(研究生) 分析与假设按照常识,薪金自然随着资历的增长而增加,管理人员的薪金应高于非管理人员,教育程度越高薪金也越高。薪金记作y,资历记作x1,为了表示是否管理人员,定义: 21 0, x ? =? ? ,管理人员 非管理人员 .

为了表示3种教育程度,定义: 31,0,x ?=? ?中学其它 41,0,x ?=??大学 其它 这样,中学用x 3=1,x 4=0表示,大学用x 3=0,x 4=1表示,研究生则用x 3=0,x 4=0表示。 假定资历对薪金的作用是线性的,即资历每加一年,薪金的增长是常数;管理责任、教育程度、资历诸因素之间没有交互作用,建立线性回归模型。 基本模型 薪金y 与资历x1, 管理责任x2,教育程度x3,x4之间的多元线性回归模型为 011223344y a a x a x a x a x ε=+++++ (1) 其中014,,a a a …,是待估计的回归系数,ε是随机误差。 MATLAB 的统计工具箱基本函数regress: [b,bint,r,rint,stats]=regress(y,x,alpha) 输入: y: n 维数据向量 x: n ?5数据矩阵, 第1列为全1向量 alpha: 置信水平,0.05 输出: b: 参数估计值 bint: b 的置信区间 r : 残差向量y -xb rint:r 的置信区间 stats: 第一个数为残差平方即回归方程之决定系数 R^2(R 为相关系数)越接近1,回 归方程显著;第二个数为统计量F 检验的值,越大回归方程越显著;第三个数为F 对应概率P ,越接近零越好;第四个数是误差项的方差估计值 在MA TLAB 命令窗口输入代码: y=[13876;11608;18701;11283;11767;20872;11772;10535;12195;12313;14975;21371;19800;11417;20263;13231;12884;13245;13677;15965;12366;21352;13839;22884;16978;14803;17404;22184;13548;14467;15942;23174;23780;25410;14861;16882;24170;15990;26330;17949;25685;27837;18838;17483;19207;19346]; x1=[1;1;1;1;1;2;2;2;2;3;3;3;3;4;4;4;4;5;5;5;6;6;6;6;7;8;8;8;8;10;10;10;10;11;11;12;12;13;13;14;15;16;16;16;17;20]; x2=[1;0;1;0;0;1;0;0;0;0;1;1;1;0;1;0;0;0;0;1;0;1;0;1;1;0;1;1;0;0;0;1;1;1;0;0;1;0;1;0;1;1;0;0;0;0]; x3=[1;0;0;0;0;0;0;1;0;0;1;0;0;1;0;0;0;0;0;1;1;0;0;0;1;0;1;0;1;1;0;0;0;0;1;0;0;1;0;0;0;0;0;1;0;1]; x4=[0;0;0;1;0;1;1;0;0;1;0;1;0;0;0;0;1;1;0;0;0;0;1;1;0;1;0;0;0;0;1;0;1;1;0;1;0;0;1;1;0;1;1;0;1;0]; xb5=[ones(46,1),x1,x2,x3,x4]; [b,bint,r,rint,stats]=regress(y,xb5) 可以得到回归系数及其置信区间(置信水平a=0.05)、检验统计量R 2,F ,p 结果,

用matlab实现碰撞模型程序代码

clc; clear; fill([6,7,7,6],[5,5,0,0],[0,0.5,0]);%右边竖条的填充 hold on; %保持当前图形及轴系的所有特性 fill([2,6,6,2],[3,3,0,0],[0,0.5,0]);%左边竖条的填充 hold on;% 保持当前图形及轴系的所有特性 t1=0:pi/60:pi; plot(4-2*sin(t1-pi/2),5-2*cos(t1-pi/2));%绘制中间的凹弧图形 grid on;%添加网格线 axis([0,9,0,9]);%定义坐标轴的比例% axis('off');%关闭所有轴标注,标记,背景 fill([1,2,2,1],[5,5,0,0],[0,0.5,0]);%中间长方形的填充 hold on;% 保持当前图形及轴系的所有特性 title('碰撞');%定义图题 x0=6; y0=5; head1=line(x0,y0,'color','r','linestyle','.','erasemode','xor','markersize',30); head2=line(x0,y0,'color','r','linestyle','.','erasemode','xor','markersize',50); %设置小球颜色,大小,线条的擦拭方式 t=0;%设置小球的初始值 dt=0.001;%设置运动周期 t1=0;%设置大球的初始值 dt1=0.001; while 1%条件表达式 t=t+dt; x1=9-1*t; y1=5; x3=6; y3=5; if t>0 x2=6; y2=5;%设置小球的运动轨迹 end if t>2.8 t=t+dt; a=sin(t-3); x1=6.1; y1=5.1; x3=4-2*sin(1.5*a); y3=5-2*cos(1.5*a);%设置大球的运动轨迹

报童问题模型

§2 报童问题模型 [问题的提出] 报童每天清晨从报社购进报纸零售,晚上将没有卖掉的报纸退回.设报纸每份的购进价为b,零售价为a,退回价为c,应该自然地假设为a>b>c.这就是说,报童售出一份报纸赚a-b,退回一份赔b-c.报童每天如果购进的报纸太少,不够卖的,会少赚钱;如果购进太多,卖不完,将要赔钱.请你为报童筹划一下,他应如何确定每天购进报纸的数量,以获得最大的收入. [问题的分析及假设] 众所周知,应该根据需求量确定购进量.需求量是随机的,假定报童已经通过自己的经验或其它的渠道掌握了需求量的随机规律,即在他的销售范围内每天报纸的需求量为r份的概率是) f.有了) (r r f和a,b,c, ,2,1,0 )( r ( 就可以建立关于购进量的优化模型了. 假设每天购进量为n份,因为需求量r是随机的,r可以小于n,等于n或大于n,致使报童每天的收入也是随机的,所以作为优化模型的目标函数,不能是报童每天的收入,而应该是他长期(几个月,一年)卖报的日平均收入.从概率论大数定律的观点看,这相当于报童每天收入的期望值,以下简称平均收入. [模型的建立及求解] 记报童每天购进n份报纸时的平均收入为G(n),如果这天的需求量r≤n,则他售出r份,退回n-r份;如果这天的需求量r>n,则n份将全部售出.考虑到需求量为r的概率是) f,所以 (r 问题归结为在) f,a,b,c已知时,求n使G(n)最大. (r 通常需求量r的取值和购进量n都相当大,将r视为连续变量更便于分析和计算,这时概率) f转化为概率密度函数) (r (r p,(1)式变成 计算

令0=dn dG .得到 使报童日平均收入达到最大的购进量n 应满足(3)式.因为?∞ =01)(dr r p ,所以(3)式又可表为 根据需求量的概率密度)(r p 的图形很容易从(3)式确定购进量n .在图2中用1P ,2P 分别表示曲线)(r p 下的两块面积,则(3)式可记作 因为当购进n 份报纸时,?=n dr r p P 01)(是需 求量r 不超过n 的概率,即卖不完的概率: ?∞=n dr r p P )(2是需求量r 超过n 的概率,即卖完 的概率,所以(3)式表明,购进的份数 应该使卖 不完和卖完的概率之比,恰好等于卖出一份赚的钱 a-b 与退回一份赔b-c 之比.显然,当报童与报社签订的合同使报童每份赚钱和赔钱之比越大时,报童购进的份数就应该越多.

实验四用MATLAB求解状态空间模型

实验四 用MATLAB 求解状态空间模型 1、实验设备 MATLAB 软件 2、实验目的 ① 学习线性定常连续系统的状态空间模型求解、掌握MATLAB 中关于求解该模型的主要函数; ② 通过编程、上机调试,进行求解。 3、实验原理说明 Matlab 提供了非常丰富的线性定常连续系统的状态空间模型求解(即系统运动轨迹的计算)的功能,主要的函数有: 初始状态响应函数initial()、阶跃响应函数step()以及可计算任意输入的系统响应数值计算函数lsim()和符号计算函数sym_lsim()。 数值计算问题可由基本的Matlab 函数完成,符号计算问题则需要用到Matlab 的符号工具箱。 4、实验步骤 ① 根据所给状态空间模型,依据线性定常连续系统状态方程的解理论,采用MATLAB 编程。 ② 在MATLAB 界面下调试程序,并检查是否运行正确。 习题1:试在Matlab 中计算如下系统在[0,5s]的初始状态响应,并求解初始状态响应表达式。 Matlab 程序如下: A=[0 1; -2 -3]; B=[]; C=[]; D=[]; x0=[1; 2]; sys=ss(A,B,C,D); [y,t,x]=initial(sys,x0,0:5); plot(t,x) 0011232????==????--???? x x x

习题2:试在Matlab 中计算如下系统在[0,10s]内周期为3s 的单位方波输入下的状态响应。并计算该系统的单位阶跃状态响应表达式。 Matlab 程序如下: A=[0 1; -2 -3]; B=[0; 1]; C=[]; D=[]; x0=[1; 2]; sys=ss(A,B,C,D); [u t]=gensig('square',3,10,0.1) 0011232????==????--???? x x x

基于MATLAB的地震正演模型实现[1]

基于MATLAB的地震正演模型实现 贾跃玮 (中国地质大学(北京) 北京100083) 摘 要 人工合成地震正演模型是进行三维模型计算的基础。针对地震勘探的原理,本文运用MATLAB强大数学计算和图像可视化功能,对一个三层介质模型制作了人工合成地震记录。文章首先说明了地震记录形成的物理机制,然后介绍了地质模型的构造及参数选择,最后针对该具体地质模型制作了合成地震记录。 关键词 地震;MATLAB;正演 0引 言 地震勘探就是利用地下介质弹性和密度的差异,通过观测和分析大地对人工激发地震波的响应,推断地下岩层的性质和形态的地球物理方法。地震勘探是钻探前勘测石油与天然气资源的重要手段,在煤田和工程地质勘查、区域地质研究和地壳研究等方面,也得到广泛应用。 人工合成二维地震模型记录是各种复杂地震模型正演计算的基础,是对地震勘探经典理论的忠实实现。在实际工作中,针对具体地质构造进行二维地震模拟能够有效帮助地球物理工作者在地震剖面上识别各种地质现象。MATLAB环境集编程、画图于一体,特别适合人工合成地震记录的快速实现。因此,我们在MATLAB环境下设计了一个三层地质模型,并对该模型模拟了地震记录,旨在可视化地观察地震波场记录特征并验证地震褶积模型。 1地震记录形成的物理机制 在地震记录上看到的波形是地震子波叠加的结果,从地下许多反射界面发生反射时形成的地震子波,振幅大小决定于反射界面反射系数的绝对值,极性的正负决定于反射系数的正负,到达时间的先后取决于界面深度和覆盖层的波速。若地震子波波形用S(t)表示,反射系数是双程垂直反射旅行时t的函数,用R(t)表示,地震记录f(t)形成的物理过程在数学上就可表示为:f(t)=S(t)3R(t)=∫0T S(τ)R(t-τ)dτ 地震子波和反射系数资料常常不易取得,因此计算时常做这样一些假设: (1)地质模型的建立是来自大量观察实际地质结构的经验性归纳总结。 (2)为了模型建立和计算过程中突出理论数值,去除了一些干扰因素,对一切衰减、噪声都不进行考虑。 (3)地层在横向上均匀,纵向上是由大量具有不同弹性性质的薄层构成。 (4)地震子波以平面波形式垂直入射到界面,各薄层的反射子波与地震子波形状相同,只是振幅及极性不同。 (5)所有波的转换、吸收及绕射等能量损失都不考虑。 基于以上这些假设条件进行地震记录合就必须已知地震子波以及地层的反射系数,而反射系数又主要由地层的波阻抗反映,所以必须首先获取地层的速度和密度资料。 速度资料可通过连续速度测井获得,密度资料可从密度测井获得,得不到密度资料时,可近似假定密度不变,以速度曲线代替波阻抗曲线来计算反射系数。加德纳根据实际资料提出了一个由速度推算密度的经验公式: ρ=0.23V0.25 (速度单位:英尺/秒) 或 ρ=0.31V0.25 (速度单位:米/秒)

用MATLAB求解规划问题

§15. 利用Matlab求解线性规划问题 线性规划是一种优化方法,Matlab优化工具箱中有现成函数linprog对如下式描述的LP问题求解: % min f'x % s.t .(约束条件):Ax<=b % (等式约束条件):Aeqx=beq % lb<=x<=ub linprog函数的调用格式如下: x=linprog(f,A,b) x=linprog(f,A,b,Aeq,beq) x=linprog(f,A,b,Aeq,beq,lb,ub) x=linprog(f,A,b,Aeq,beq,lb,ub,x0) x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options) [x,fval]=linprog(…) [x, fval, exitflag]=linprog(…) [x, fval, exitflag, output]=linprog(…) [x, fval, exitflag, output, lambda]=linprog(…) 其中: x=linprog(f,A,b)返回值x为最优解向量。 x=linprog(f,A,b,Aeq,beq) 作有等式约束的问题。若没有不等式约束,则令 111

A=[ ]、b=[ ] 。 x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options) 中lb ,ub为变量x的下界和上界,x0为初值点,options为指定优化参数进行最小化。 Options的参数描述: Display显示水平。选择’off’ 不显示输出;选择’I ter’显示每一步迭代过程的输出;选择’final’ 显示最终结果。 MaxFunEvals 函数评价的最大允许次数 Maxiter 最大允许迭代次数 TolX x处的终止容限 [x,fval]=linprog(…) 左端fval 返回解x处的目标函数值。 [x,fval,exitflag,output,lambda]=linprog(f,A,b, Aeq,beq,lb,ub,x0) 的输出部分: exitflag描述函数计算的退出条件:若为正值,表示目标函数收敛于解x 处;若为负值,表示目标函数不收敛;若为零值,表示已经达到函数评价或迭代的最大次数。 output 返回优化信息:output.iterations表示迭代次数;output.algorithm表示所采用的算法;outprt.funcCount表示函数评价次数。 lambda返回x处的拉格朗日乘子。它有以下属性: lambda.lower-lambda的下界; lambda.upper-lambda的上界; lambda.ineqlin-lambda的线性不等式; lambda.eqlin-lambda的线性等式。 112

相关文档
相关文档 最新文档