搜档网
当前位置:搜档网 › 报童问题模型matlab实现

报童问题模型matlab实现

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

交通流中的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实验报告五(微分方程求解Euler折线法)-推荐下载

数学与信息科学系实验报告 实验名称微分方程求解 所属课程数学软件与实验 实验类型综合型实验 专业信息与计算科学 班级 学号姓名指导教师 吊 顶 到 位 。 连 接 管 半 径 标 式 , 为备 , 查 所 有 试 卷 设 备 进 电 保 护 试 卷 ; 对 整 置 技 术 限 度 内 卷 破 避 免 错 中 资 料

一、实验概述 【实验目的】 熟悉在Matlab 环境下求解常微分方程组和偏微分方程组的方法,掌握利用Matlab 软件进行常微分方程组和偏微分方程组的求解。 【实验原理】 1.dsolve(‘equ1’,’equ2’,...):matlab 求微分方程的解析解。 2.simplify(s):对表达式S 使用MAPLE 的化简规则进行化简。 3.[x,y]=dslove(‘方程1’,‘方程2’,...‘初始条件1’‘初始条件2’,..’自变量’):用字符串方程表示,自变量缺省值为t. 4.ezplot(x,y,[tmin,tmax]):符号函数的作图命令。【实验环境】 MatlabR2010b 二、实验内容 问题1. 求微分方程组在初始条件下的解,并 00dx x y dt dy x y dt ?++=????+-=??00|1,|0t t x y ====[0,0.5]t ∈画出函数的图像. ()y f x =1.分析问题 本题是根据初始条件求微分方程组的特解,并根据t 的范围画出函数的图形。 2.问题求解 syms x y t [x,y]=dsolve('Dx+x+y=0','Dy+x-y=0','x(0)=1','y(0)=0','t')x=simple(x)y=simple(y) ezplot(x,y,[0,0.5]);axis auto 3.结果 x = exp(2^(1/2)*t)/2 + 1/(2*exp(2^(1/2)*t)) - (2^(1/2)*exp(2^(1/2)*t))/4 + 2^(1/2)/(4*exp(2^(1/2)*t)) y = 2^(1/2)/(4*exp(2^(1/2)*t)) - (2^(1/2)*exp(2^(1/2)*t))/4 x = cosh(2^(1/2)*t) - (2^(1/2)*sinh(2^(1/2)*t))/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程序

法 function [x,y]=naeuler(dyfun,xspan,y0,h) x=xspan(1):h:xspan(2); y(1)=y0; for n=1:length(x)-1 y(n+1)=y(n)+h*feval(dyfun,x(n),y(n)); end x=x';y=y'; x1=0::1;y1=(1+2*x1).^; plot(x,y,x1,y1) >> dyfun=inline('y-2*x/y'); [x,y]=naeuler(dyfun,[0,1],1,;[x,y] ans = 2.隐式Euler法 function [x,y]=naeulerb(dyfun,xspan,y0,h) x=xspan(1):h:xspan(2); y(1)=y0; for n=1:length(x)-1 y(n+1)=iter(dyfun,x(n+1),y(n),h); end x=x';y=y'; x1=0::1;y1=(1+2*x1).^; plot(x,y,x1,y1) function y=iter(dyfun,x,y,h) y0=y;e=1e-4;K=1e+4; y=y+h*feval(dyfun,x,y); y1=y+2*e;k=1; while abs(y-y1)>e y1=y; y=y0+h*feval(dyfun,x,y); k=k+1; if k>K error('迭代发散'); end end >> dyfun=inline('y-2*x/y');

[x,y]=naeulerb(dyfun,[0,1],1,;[x,y] ans = 3.改进Euler法 function [x,y]=naeuler2(dyfun,xspan,y0,h) x=xspan(1):h:xspan(2); y(1)=y0; for n=1:length(x)-1 k1=feval(dyfun,x(n),y(n)); y(n+1)=y(n)+h*k1; k2=feval(dyfun,x(n+1),y(n+1)); y(n+1)=y(n)+h*(k1+k2)/2; end x=x';y=y'; x1=0::1;y1=(1+2*x1).^; plot(x,y,x1,y1) >> dyfun=inline('y-2*x/y'); [x,y]=naeuler2(dyfun,[0,1],1,;[x,y] ans =

报童数学建模

报童卖报 国贸系报关班:王曦 法学系行政法务一班:何国泽 一、问题: 报童每天清晨从报社购进报纸零售,晚上将没有卖掉的报纸退回。设报纸每份的购进价为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];

欧拉图fluery算法matlab

clear all A=zeros(16); for i=1:16 %A(i,i)=1/2; if i+1<=16 && mod(i,4)~=0 A(i,i+1)=1; end if i+4<=16 A(i,i+4)=1; end end A(2,5)=1; A(3,8)=1; A(9,14)=1; A(12,15)=1; % A(1,6)=1; % A(6,11)=1; % A(11,16)=1; % A(16,1)=1; A=A+A'; [T3 c3]=Fleuf2(A); pos3(1:2,1)=0; for i=1:16 if i==1, pos3(1:2,i)=0; else if mod(i-1,4)~=0 pos3(1,i)=pos3(1,i-1)+1; pos3(2,i)=pos3(2,i-1); else pos3(1,i)=pos3(1,i-4); pos3(2,i)=pos3(2,i-4)-1; end end end figure (1), title('3rd Question')

for j=i:16 if A(i,j)==1, plot([pos3(1,i),pos3(1,j)],[pos3(2,i),pos3(2,j)]); hold on, end end end for i=2:c3 draw_arrow(pos3(:,T3(1,i))',pos3(:,T3(2,i))',0.5) x = mean(pos3(1,T3(:,i))); y = mean(pos3(2,T3(:,i))) text(x,y,num2str(i),'FontSize',18); pause; end pause off; hold off function [T c]=Fleuf1(d) n = length(d); b = d; b(b == Inf)=0; b(b~=0) = 1; m = 0; a = sum(b); eds = sum(a)/2; ed = zeros(2,eds); vexs = zeros(1,eds+1); matr = b; for i=1:n if mod(a(i),2) ==1 m = m+1; end end if m~=0 fprintf('there is not exist Euler path.\n'); T=0;c=0; end if m==0

利用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程序学习课件.doc

1.Euler法 function [x,y]=naeuler(dyfun,xspan,y0,h) x=xspan(1):h:xspan(2); y(1)=y0; for n=1:length(x)-1 y(n+1)=y(n)+h*feval(dyfun,x(n),y(n)); end x=x';y=y'; x1=0:0.2:1;y1=(1+2*x1).^0.5; plot(x,y,x1,y1) >> dyfun=inline('y-2*x/y'); [x,y]=naeuler(dyfun,[0,1],1,0.2);[x,y] ans = 0 1.0000 0.2000 1.2000 0.4000 1.3733 0.6000 1.5315 0.8000 1.6811 1.0000 1.8269 2.隐式Euler法 function [x,y]=naeulerb(dyfun,xspan,y0,h) x=xspan(1):h:xspan(2); y(1)=y0; for n=1:length(x)-1 y(n+1)=iter(dyfun,x(n+1),y(n),h); end x=x';y=y'; x1=0:0.2:1;y1=(1+2*x1).^0.5;

plot(x,y,x1,y1) function y=iter(dyfun,x,y,h) y0=y;e=1e-4;K=1e+4; y=y+h*feval(dyfun,x,y); y1=y+2*e;k=1; while abs(y-y1)>e y1=y; y=y0+h*feval(dyfun,x,y); k=k+1; if k>K error('迭代发散'); end end >> dyfun=inline('y-2*x/y'); [x,y]=naeulerb(dyfun,[0,1],1,0.2);[x,y] ans = 0 1.0000 0.2000 1.1641 0.4000 1.3014 0.6000 1.4146 0.8000 1.5019 1.0000 1.5561 3.改进Euler法 function [x,y]=naeuler2(dyfun,xspan,y0,h) x=xspan(1):h:xspan(2); y(1)=y0; for n=1:length(x)-1 k1=feval(dyfun,x(n),y(n)); y(n+1)=y(n)+h*k1; k2=feval(dyfun,x(n+1),y(n+1));

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实现碰撞模型程序代码

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);%设置大球的运动轨迹

实验五 欧拉法Matlab实验报告

北京理工大学珠海学院实验报告 ZHUHAI CAMPAUS OF BEIJING INSTITUTE OF TECHNOLOGY 班级2012电气2班学号120109021010姓名陈冲指导教师张凯成绩 实验题目(实验五)欧拉法实验地点及时间JD501 2014/1/2(6-7节) 一、实验目的 1.掌握用程序语言来编辑函数。 2.学会用MATLAB编写Euler.m以及TranEuler.m函数。 二、实验环境 Matlab软件 三、实验内容 1、以书中第124页题目11为例编辑程序来实现计算结果。 2、使用MATLAB进行编写: 第一步:编写Euler.m函数,代码如下 编写TranEuler.m函数,代码如下 第二步:利用上述函数编辑命令:(可见实验结果中的截图)

在此之前先建立一个名为f.m 的M 文件,代码如下 function z=f(x); z=8-3y; 再编辑代码: 得到了欧拉法的结果:y (0.4)=2.47838030901267 编辑另一段命令: 得到改进欧拉法的结果:y (0.4)=2.46543714659780 在此基础上,我还编辑龙格库达的命令窗口代码,如下: 四、实验题目 用欧拉法和改进欧拉法求解初值问题'83,(0)2y y y =-=,试取步长0.2h =计算(0.4)y 的近似值。 五、实验结果

六、总结 通过这次实验我掌握了将得到的解进一步精确,而且要学会比较这几种方法的精确性,显然,四阶龙格库达比改进欧拉发精确,改进欧拉发比欧拉法精确。 实验难度不大,要比较n的取值不同,产生的影响不同。

报童问题模型

§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的地震正演模型实现[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 (速度单位:米/秒)

相关主题