数学模型与数学建模实验三

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第(2)步:画两个点,
第(3)步:画两个点,及其连线上的中点,因为任意两点,之间的连 线上的点可以表示为 ,即: 其中,特别地,当时,是连线上的中点。
注意:两个同阶矩阵相加等于对应元素相加,矩阵除以某数等于每个元 素除以这 个数。 第(4)步:一枝树杈,任意给定一节树段,在其中点长出一个分杈, 长度等于原树段长的一半,向左偏离原树段30°角,记原树段起点为, 终点为,中点为,如图:
end end 第二题 图像做旧的程序代码 >> load mask;%读取MATLAB本身附带的索引图mask,自动存为x >> mm=X;%mm数据类型是双精度double,数值在(0,1)中 >> load face_mos;%读取MATLAB本身附带的索引图mask,自动存 为X >> nn=X;%nn数据类型是整数型,数值去0到255 >> mn1=0.5*mm+0.5*double(nn);%都转变成双精度数据,在进行 运算 >> mn2=0.8*mm+0.2*double(nn);%取不同的融合比例,得到不同 的结果 >> subplot(2,2,1),imshow(mm,[]); subplot(2,2,2),imshow(nn, []);subplot(2,2,3),imshow(mn1,[]); subplot(2,2,4),imshow(mn2,[]);%[]作用是拉伸灰度图示图像 第三题 第(1)步:画一个点P(2.5,3) u=[2.5 3];%用1行2列矩阵表示一个点的坐标 plot(u(1),u(2),'*')%画点,横坐标在前,纵坐标在后,用*号显示 第(2)步:画两个点, >> u=[2.5 3;6.5 6];%用两行两列矩阵表示两个点的坐标 plot(u(:,1),u(:,2),'*')%矩阵第一列u(:,1)表示横坐标,第二列u(:,2)表示纵坐 标 axis([2,7,2,7])%给定横坐标范围[2,7],纵坐标范围[2,7] 第(3)步:画两个点,及其连线上的中点。 u=[2.5 3;6.5 6]; p0=(u(1,:)+u(2,:))/2;%在取中点 u=[u(1,:);p0;u(2,:)];%在原点u中间添入中点坐标 plot(u(:,1),u(:,2),'*-'),axis([2,7,2,7]) 第(4)步: u=[2.5 3;6.5 6]; v=(u(2,:)-u(1,:))/2;%v表示经平移、缩小后的向量OP的终点坐
车通过路口的时间,再用规定的绿灯亮的时间长度为卡尺,就可以确定 通过的车辆数。 算法 (1)计算每辆汽车达到最大限速时间,以加速度通过路口时间和以 最大限速通过路口时间。 (2)比较和就可以确定这辆车实际通过路口的时间。 (3)将充分多辆车通过路口的时间列出来,(用find)确定通过路口 时间小于绿灯亮的时间长度的所有车号,其中最大者就是能够通过的车 辆数,函数以pass.m文件名存储。 于是,只要输入就会由函数pass(T)得到通过的车辆数。 第二题 1、图像做旧处理所得图像及其拉伸灰度级显示图像结果如下图所 示:
标 A=[cos(pi/6) sin(pi/6);-sin(pi/6) cos(pi/6)] A = 0.8660 0.5000 -0.5000 0.8660 >> Ip=p0+v*A;%Ip表示经旋转、再平移后的向量P_OP_L的终点坐标 u=[u(1,:);p0;Ip;p0;u(2,:)]; plot(u(:,1),u(:,2),'*-'),axis([2,7,2,7]) 第(5)步 branch.m文件代码 function u=branch(v,theta) p0=(v(2,:)+v(1,:))/2; v1=(v(2,:)-v(1,:))/2; A=[cos(theta) sin(theta);-sin(theta) cos(theta)]; lp=p0+v1*A; u=[v(1,:);p0;p0;lp;p0;v(2,:)]; end tree.m文件代码 function w=tree(u,theta) uuu=[]; for j=0;(length(u)/2-1)%Ê÷¶Î×ÜÊýÊÇuÐÐÊý£¨³¤¶È £©µÄÒ»°ë¡£ u0=u((2*j+1):(2*j+2),:);%ÒÀ ´ÎÈ¡¾ØÕóuµÄÁ½Ðй¹³ÉÒ»¸öеģ¨Ê÷¶Î£©¾ØÕóu£¨£© uu=branch(u0,theta);%µ÷ÓÃÉú³ÉÊ÷è¾µÄ×Ó³ÌÐò £¬Éú³ÉÒ»Ö¦Ê÷è¾ uuu=[uuu;uu];%ÒÀÐò¼Ç¼ËùÓÐÊ÷è¾ end w=uuu;%µÃµ½±¾½×¶ÎеÄÊ÷¡£ end 分形树代码 >> clear u=[0 0;0 1]; subplot(3,3,1),plot(u(:,1),u(:,2)),%逐行逐列画出3行3列 9幅图,先将u对应的图放在第1位。 axis([-0.5,0.5,0,1]);%指定图形的坐标范围 for k=1:8
秒就能实现的程序。 第三题 分形是对不规则的难以用传统欧式几何描述的几何图形,例如,海岸 线和山川形状,多数分形图案的特点之一是从整体到局部的自相似性, 从远距离观察,海岸线和山川形状是极不规则的;从近距离观察,其局 部形状又和整体形态相似,数学的分形树是按一定规律构造的的具有自 相似特征的几何图案。我们从一个线段生成一个分形树图案开始,学习 几何最基本的元素“点”和“直线”的矩阵代数表达方式。
算法: ①将向量平移到原点,并缩小1/2,得到向量, ②将逆时针旋转π/6,再平移到与连线的中点,得到向量,,其中 是旋转变换矩阵; ③将,,,,依序连接起来。
第(5)步:画一棵分形树。假定树的生长是有规律的,按分杈点可以 将树分成有限个树段,每个阶段每个树段必在且只在中点向一个固定方 向,例如,向左偏离30°,长出一枝新树杈,新树杈的出现,使得树可 以被分为更多的树段,进入下一阶段的生长,在计算机上实现这个过 程,上一步已将一个树段变为一个树杈,这树杈由3个新树段构成,为 表达清楚,可将上题的的输出指令 u=[u(1,:);p0;Ip;p0;u(2,:)] 改为 u=[u(1,:);p0;p0;lp;p0;u(2,:)] 即将每个树段的起点和终点坐标都分别用矩阵u的奇数行和偶数行记 录,3个树段由6个点表示。下一步,在这3个树段的每段上都要长出一
五、程序代码
第一题 pass.m文件代码 function m=pass(T) k=50;t=zeros(1,k); %计算k=50辆车,每辆汽车通过路口时间将 记录在t中. tt=solve('-(n-1)*7+(t-N)^2'); %此一元二次方程的2个解中的 第1个为正. tt1=11(1); %第n辆车以加速度通过路口时间tt1(n). ttt=solve('-(n-1)*7+5.5^2+11*(t-n-5.5)'); %第n辆车以最大限速通过路口时间ttt(n)。 for n=1:k; t0=5.5+n;x=subs(tt1,n); if x>t0 %第n辆车以加速度行驶未达到路口前已达到最大限速. t(n)=subs(ttt,n); %它一定以最大限速通过路口. else t(n)=x; %否则,它以加速度过路口.
二、实验目的
数学建模是一种数学的思考方法,用数学的语言和方法,通过抽象、 简化建立能近似的刻画并“解决”实际问题的路径。因此,模型一般具有 明确的应用背景,针对性较强。为了使所研究的模型有相当的普适性, 能解决一类问题,就需要在模型确立之后,进一步分析推广,挖掘出模 型更多的理论和实用的价值。
三、问题陈述
第一题 问题要求很明确,求解的关键是绿灯亮后,汽车才启动,加速是过路 口,要确定在给定时间内能通过多少辆车,就要考虑汽车加速度,从停 车位置到路口的路程以及城市行车的最高限速要求。 第二题 数值图像是一个函数,,确切的说,是定义在矩形区域的离散网格点 上的函数,称为像素点为像素值,当时,为灰度图像,当时,为彩色图 像,所以灰度图像就是一个矩阵,彩色图像就是三个矩阵,分别表示三 个颜色(红、绿、蓝RGB),即三维数组表达,图像做旧是一种图像融 合的方法,可以通过两个矩阵的加权求和来实现。 需要强调的是,为解决问题编写程序不仅需要熟悉软件的变异特点, 例如MATLAB的矩阵语言,而且要密切结合问题的背景,利用其数学特 征,才有可能编写出有效的程序,下面以编写分形树的绘图为例,说明 如何利用分形树的自相似特征,将需要运行十多分时间的程序改进为几
四、模型及求解结果
第一题 记在时刻第辆车的位置为,用数轴表示车辆行驶道路,数轴的正向为 汽车行驶方向,数轴原点为红绿灯的位置。于是当时,表明在第30s第 辆车已通过红绿灯,否则,结论相反。于是,只要确定限速行驶模型, 就可以确定30s内通过的汽车数量。在单向、单车道、直行、限速等假 设下,在《数学模型与数学建模》中给出了这个模型: 其中表示第辆车在绿灯亮前的位置,表示第辆车的启动时间,表示第辆 车达到最大限速时间。参数驱车长,车距,加速度,最大限速。可以得 到结果,绿灯亮30s,该路口单向,单车道可以通过17辆车。 这里直接研究限速行驶模型的应用。确定十字路口绿灯亮多长时间是 城市交通管理中最基本的一个问题。直接利用限速行驶模型计算每辆车 到达路口的时间,有数值结果可见,绿灯亮后汽车开始以最高限速穿过 路口的时间在11s以后,从第6辆车开始。以后的车都以最高限速穿过路 口。绿灯亮30s通过路口17辆车中有11辆车以最高限速穿过路口,如果 绿灯只亮15s,则在通过7辆车中只有两辆车以最高的限速穿过路口,显 然这样的交通灯控制策略对于路口的利用率是不高的。 如果是利用限速行驶模型得到通过的车辆数对绿灯亮的时间长度的依 赖关系,即得到当绿灯亮s时,单向、单车道通过的车辆数,对进一步 的研究更方便。要写出这个分段函数,推导并不困难,但是有些繁琐。 但是在实际问题研究中找到显示表达式函数的wk.baidu.com会非常少,借助计算机 编程,;iyong输入输出表达函数关系常常是唯一可取的办法。下面以 这个简单问题为例尝试一下。 一个基本的想法是,在有限时间内只能通过有限辆车,只要计算出辆
实验报告三
学院名称:理学院 专业年级: 姓 名: 学 号: 课 程:数学模型与数学建模 报告日期:2015年11月 24日
一、实验题目
例1.3.1 继续研究十字路口红绿灯问题 十字路口绿灯亮灯30s,最多可以通过多少辆汽车?继续研究问题: 十字路口绿灯亮s,最多可以通过多少辆汽车? 例 1.3.2 图像做旧 练习:改变融合比例,尝试其它做旧效果 例1.3.3 画分形树
个分杈,即在每段上重复上一步工作,为编写代码简洁,先将画一枝树 杈的指令用函数文件branch.m表达。 只要输入树段断电坐标v和将要长出分杈的偏离角度,就会输出长了一 个分杈的树杈,然后,重复执行调用branch.m画出所有树段生成的树 杈,这个过程用函数文件tree.m表达 只要输入上阶段已有的树u和规定的树杈偏离角,就会输出长了更多树 杈的树。注意到,因为u记录了所有树段的起点和终点,所以树段总数 是其行数的一半。按这种想法,可以设计生长个阶段的分形树的算法。 算法 ①给定初始值,一个2行2列矩阵表示一根树干两端点的坐标,给定参 数表示树杈的生长角度。 ②第阶段(): a.从上阶段的树截出树段; b.树段上长成一枝树杈,记为; c.依序将拼接,构成 ③如果<,则=+1,重复②,否则结束运算。 以下分别画出=0,1,...,8阶段的分形树。
计意义上的。 如果画一颗每阶段在每段数段上长两个分叉的分形树,一个分叉向 左,一个分叉向右,就会发现按照上面的思路够早的算法计算速度很 慢。可以在程序开始前加上指令,在结尾后加上,则程序运行完后会显 示运行时间。如果你意识到所编的程序运行很慢,需要改进程序,就要 注意学习Matlab变成的规范和技巧。例如在下面的程序中,运用矩阵运 算替换了tree.m中的循环,可以提高运算速度。 改进后的图:
上图 (图像做旧)左上为原双精度图,右上为整数型数据的得到的图 像,左下为双精度整数型数据各50%的融合比例,右下80%的双精度数 据与20%的整数型数据融合后的结果。 2、练习题:改变融合比例
上图 (改变融合比例)左上为原双精度图,右上为整数型数据的得到 的图像,左下为40%的双精度数据与60%的整数型数据融合后的结果, 右下90%的双精度数据与10%的整数型数据融合后的结果。 第三题 第(1)步:画一个点P(2.5,3)
如图,注意到,不论多大,也就是不管迭代多少次,树杈越来越密, 但是永远不会充满整个区域,这个特点可以利用Matlab同性工具栏的放 大镜看到。于是,这棵树的树杈长度综合可无限增大,但是树杈占据的 面积永远为零,这就是所谓的二维分形。分形的一个重要特征就是自相 似,即局部是整体的相似形,通过图形放大镜可以展现这个特征。标准 的自相似分形是数学对现实的抽象,实际分形的形体自相似性大多是统
相关文档
最新文档