当前位置:文档之家› 基于MATLAB的交通流计算机模拟

基于MATLAB的交通流计算机模拟

基于MATLAB的交通流计算机模拟
基于MATLAB的交通流计算机模拟

通信原理基于matlab的计算机仿真_源代码

例错误!文档中没有指定样式的文字。-1 %周期信号(方波)的展开,fb_jinshi.m close all; clear all; N=100; %取展开式的项数为2N+1项 T=1; fs=1/T; N_sample=128; %为了画出波形,设置每个周期的采样点数 dt = T/N_sample; t=0:dt:10*T-dt; n=-N:N; Fn = sinc(n/2).*exp(-j*n*pi/2); Fn(N+1)=0; ft = zeros(1,length(t)); for m=-N:N ft = ft + Fn(m+N+1)*exp(j*2*pi*m*fs*t); end plot(t,ft) 例错误!文档中没有指定样式的文字。-4 利用FFT计算信号的频谱并与信号的真实频谱的抽样比较。 脚本文件T2F.m定义了函数T2F,计算信号的傅立叶变换。 function [f,sf]= T2F(t,st) %This is a function using the FFT function to calculate a signal's Fourier %Translation %Input is the time and the signal vectors,the length of time must greater %than 2 %Output is the frequency and the signal spectrum dt = t(2)-t(1); T=t(end); df = 1/T; N = length(st); f=-N/2*df:df:N/2*df-df; sf = fft(st); sf = T/N*fftshift(sf); 脚本文件F2T.m定义了函数F2T,计算信号的反傅立叶变换。 function [t st]=F2T(f,sf) %This function calculate the time signal using ifft function for the input %signal's spectrum

通信原理基于matlab的计算机仿真资料

例1-1 %周期信号(方波)的展开,fb_jinshi.m close all; clear all; N=100; %取展开式的项数为2N+1项 T=1; fs=1/T; N_sample=128; %为了画出波形,设置每个周期的采样点数 dt = T/N_sample; t=0:dt:10*T-dt; n=-N:N; Fn = sinc(n/2).*exp(-j*n*pi/2); Fn(N+1)=0; ft = zeros(1,length(t)); for m=-N:N ft = ft + Fn(m+N+1)*exp(j*2*pi*m*fs*t); end plot(t,ft) 例1-2 利用FFT计算信号的频谱并与信号的真实频谱的抽样比较。 脚本文件T2F.m定义了函数T2F,计算信号的傅立叶变换。 function [f,sf]= T2F(t,st) %This is a function using the FFT function to calculate a signal's Fourier %Translation %Input is the time and the signal vectors,the length of time must greater %than 2 %Output is the frequency and the signal spectrum dt = t(2)-t(1); T=t(end); df = 1/T; N = length(st); f=-N/2*df:df:N/2*df-df; sf = fft(st); sf = T/N*fftshift(sf); 脚本文件F2T.m定义了函数F2T,计算信号的反傅立叶变换。 function [t st]=F2T(f,sf) %This function calculate the time signal using ifft function for the input %signal's spectrum

matlab模拟

1.1.1模拟技术 在许多数学方法中,一般都要用到解析论证和数值计算的技巧。但是,许多现实的系统是很复杂的,其中的随机性因素往往难以用数学公式表示出来,也就很难使用数学推导或数值计算机的手段来分析系统、预测系统的性能。因此,产生了对系统进行模拟的技术。 在使用计算机对系统进行模拟之前,一般要清楚模拟的一般步骤和方法。后面将从较小的模拟实例,对模拟技术进行简要的介绍。 模拟过程的一般过程为: (1)分析问题,收集资料。需要搞清楚问题要达到的目标,根据问题的性质收集有关随机性因素的资料。这里用得较多的知识为概率统计方面。 在这个阶段,还应当估计一下待建立的模拟系统的规模和条件,说明 哪些是可以控制的变量,哪些是不可控制的变量。 (2)建立模拟模型,编制模拟程序。按照一般的建模方法,对问题进行适当的假设。也就是说,模拟模型未必要将被模拟系统的每个细节全部 考虑。模拟模型的优劣将通过与实际系统有关资料的比较来评价。如 果一个“粗糙”的模拟模型已经比较符合实际系统的情况,也就没有 必要建立费时、复杂的模型。当然,如果开始建立的模型比较简单, 与实际系统相差较大,那么可以在建立了简单模型后,逐步加入一些 原先没有考虑的因素,直到模型达到预定的要求为止。编写模拟程序 之前,要现画出程序框图或写出算法步骤。然后选择合适的计算机语 言,编写模拟程序。模拟实现的工具较多,如数学软件类:Matlab、 Mathematica、Maple、MathCAD等,还有其它的高级语言工具,如: Visual C++、C++ Builder、Delphi、Borland C++3.1等。 (3)运行模拟程序,计算结果。为了减小模拟结果的随机性偏差,一般要多次运行模拟程序,还有就是增加模拟模型的时段次数。 (4)分析模拟结果,并检验。模拟结果一般说来反映的是统计特性,结果的合理性、有效性,都需要结合实际的系统来分析,检验。以便提出 合理的对策、方案。 以上步骤是一个反复的过程,在时间和步骤上是彼此交错的。比如模型的修改和改进,都需要重新编写和改动模拟程序。模拟结果的不合理,则要求检查模型,并修改模拟程序。 1.1.2模拟时间 利用计算机进行模拟时,有两种控制模拟时间的方法。一种是固定时间增量法,另一种是可变时间增量法,又叫面向事件法。 固定时间增量法,是选用一段合适的时间作单位,然后每隔一个单位时间就计算一次有关参数的值,到达预定的模拟时间后,模拟程序结束。在编写这种程序时,一般可以建立一个“模拟时钟”变量。程序的主体框架一般时个大的循环,循环变量,则为模拟时间;在每个循环体内,就是对每个时段作处理。例如,有些排队论模型,可能就是以每隔一段时间(一天或者一个月)进行处理。 采用可变时间增量法编写的模拟程序也有一个“模拟时钟”变量,但它是在一个事件发生时,“模拟时钟”才向前推进。需要注意的是,该模拟方法每一步

MATLAB编程用两种方法模拟光学实验

MATLAB编程用两种方法模拟光学实验 摘要: 利用MATLAB软件编程实现了用衍射积分的方法对单缝衍射、杨氏双缝干涉、黑白 光栅衍射的计算机模拟;以及用傅立叶变换方法对简单孔径衍射、黑白光栅及正弦光栅夫 琅和费衍射的模拟。 关键词: MATLAB;衍射积分;傅立叶变换;计算机模拟 引言: 美国Mathworks公司推出的MA TLAB,是一种集数值计算、符号预算、可视化建模、 仿真和图形处理等多种功能于一体的优秀图形化软件。本文介绍了通过MA TLAB软件编 程实现用衍射积分和傅立叶变换实现夫琅和费衍射计算机模拟的方法。 计算机模拟为衍射实验的验证提供一条简捷、直观的途径。从而加深了对物理原理、 概念和图像的理解。 正文: 大学教学课程中引入计算机模拟技术正日益受到重视,与Basic、C和Fortran相比,用MA TLAB软件做光学试验的模拟,只需要用数学方式表达和描述,省去了大量繁琐的编 程过程。下面来介绍利用MATLAB进行光学模拟的两种方法。 (一)衍射积分方法: 该方法首先是由衍射积分算出接收屏上的光强分布,然后根据该分布调制色彩作图,从而得到衍射图案。 1.单缝衍射。 把单缝看作是np个分立的相干光源,屏幕上任意一点复振幅为np个光源照射结果 的合成,对每个光源,光程差Δ=ypsinΦ,sinΦ=ys/D,光强I=I0(Σcosα)2+(Σsinα)2,其中α=2Δ/λ=πypys/λD 编写程序如下,得到图1 lam=500e-9; a=1e-3;D=1; ym=3*lam*D/a; ny=51; ys=linspace(-ym,ym,ny); np=51; yp=linspace(0,a,np); for i=1:ny sinphi=ys(i)/D; alpha=2*pi*yp*sinphi/lam; 图1 单缝衍射的光强分布 sumcos=sum(cos(alpha)); sumsin=sum(sin(alpha)); B(i,:)=(sumcos^2+sumsin^2)/np^2; end N=255; Br=(B/max(B))*N; subplot(1,2,1)

MATLAB计算机仿真设计

《计算机仿真技术》 课程设计 姓名: 学号: 班级: 1 专业: 学院: 2016年12月24日

目录 一、设计目的 (1) 二、设计任务 (1) 三、具体要求 (1) 四、设计原理概述 (1) 五、设计内容 (2) 六、设计方案及分析 (2) 1、观察原系统性能指标 (2) 2、手动计算设计 (6) 3、校正方案确定 (8) 七、课程设计总结 (14)

模拟随动控制系统的串联校正设计 一、设计目的 1、通过课程设计熟悉频域法分析系统的方法原理。 2、通过课程设计掌握滞后-超前校正作用与原理。 3、通过在实际电路中校正设计的运用,理解系统校正在实际中的意义。 二、设计任务 控制系统为单位负反馈系统,开环传递函数为) 1025.0)(11.0()(G ++=s s s K s ,设计校正装置,使系统满足下列性能指标:开环增益100K ≥;超调量30%p σ<; 调节时间ts<0.5s 。 三、具体要求 1、使用MATLAB 进行系统仿真分析与设计,并给出系统校正前后的 MATLAB 仿真结果,同时使用Simulink 仿真验证; 2、使用EDA 工具EWB 搭建系统的模拟实现电路,分别演示并验证校正前 和校正后的效果。 四、设计原理概述 校正方式的选择:按照校正装置在系统中的链接方式,控制系统校正方式分 为串联校正、反馈校正、前馈校正和复合校正4种。串联校正是最常用的一种校 正方式,这种方式经济,且设计简单,易于实现,在实际应用中多采用这种校正 方式。串联校正方式是校正器与受控对象进行串联链接的。本设计按照要求将采 用串联校正方式进行校正。 校正方法的选择:根据控制系统的性能指标表达方式可以进行校正方法的确 定。本设计要求以频域指标的形式给出,因此采用基于Bode 图的频域法进行校 正。 几种串联校正简述:串联校正可分为串联超前校正、串联滞后校正和滞后- 超前校正等。 超前校正的目的是改善系统的动态性能,实现在系统静态性能不受损的前提

基于MATLAB的各类混沌系统的计算机模拟(教学版)

基于MATLAB 的各类混沌系统的计算机模拟 ―――《混沌实验教学平台的设计与实现》初期报告 物电05级1A 班 张丹伟 20050003101 摘要:本文利用数学软件MATLAB 对Lorenz 系统等六个重要的混沌模型进行数值计算,同 时模拟出各类混沌系统的独特性质,如混沌吸引子,倍周期,初值敏感性,相图,分岔图等。通过观察和分析上述特性,加深了我们对混沌现象的理解。 关键词:混沌; 微分方程; MA TLAB ; 引言. 混沌探秘 混沌是非线性系统所独有且广泛存在的一种非周期运动形式, 其覆盖面涉及到自然科学和社会科学的几乎每一个分支。1972年12月29日,美国麻省理工学院教授、混沌学开创人之一E.N.洛伦兹在美国科学发展学会第139次会议上发表了题为《蝴蝶效应》的论文,提出一个貌似荒谬的论断:在巴西一只蝴蝶翅膀的拍打能在美国得克萨斯州产生一个龙卷风,并由此提出了天气的不可准确预报性。为什么会出现这种情况呢?这是混沌在作怪! “混沌”译自英语中“chaos”一词,原意是混乱、无序,在现代非线性理论中,混沌则是泛指在确定体系中出现的貌似无规则的、类随机的运动。 混沌现象是普遍的,就在我们身边,是与我们关系最密切的现象,我们就生活在混沌的海洋中。一支燃着的香烟,在平稳的气流中缓缓升起一缕青烟,突然卷成一团团剧烈搅动的烟雾,向四方飘散;打开水龙头,先是平稳的层流,然后水花四溅,流动变的不规则,这就是湍流;一个风和日丽的夏天,突然风起云涌,来了一场暴风雨。一面旗帜在风中飘扬,一片秋叶从树上落下,它们都在做混沌运动。可见混沌始终围绕在我们的周围,一直与人类为伴。 一. 混沌的基本概念 1. 混沌: 目前尚无通用的严格的定义, 一般认为,将不是由随机性外因引起的, 而是由确定性方程(内因)直接得到的具有随机性的运动状态称为混沌。 2. 相空间: 在连续动力系统中, 用一组一阶微分方程描述运动, 以状态变量(或状态向量)为坐标轴的空间构成系统的相空间。系统的一个状态用相空间的一个点表示, 通过该点有唯一的一条积分曲线。 3. 混沌运动: 是确定性系统中局限于有限相空间的高度不稳定的运动。所谓轨道高度不稳定, 是指近邻的轨道随时间的发展会指数地分离。由于这种不稳定性, 系统的长时间行为会显示出某种混乱性。 4. 分形和分维: 分形是 n 维空间一个点集的一种几何性质, 该点集具有无限精细的结构, 在任何尺度下都有自相似部分和整体相似性质, 具有小于所在空间维数 n 的非整数维数。分维就是用非整数维——分数维来定量地描述分形的基本性质。 5. 不动点: 又称平衡点、定态。不动点是系统状态变量所取的一组值, 对于这些值系统不随时间变化。在连续动力学系统中, 相空间中有一个点0x , 若满足当 t →∞时, 轨迹0()x t x →, 则称0x 为不动点。

计算机仿真实验报告 MATLAB

注:以下所有程序均在MATLAB7.0下运行通过。 实验一MATLAB语言编程 一、实验目的: 熟悉MATLAB语言及其环境,掌握编程方法。 要求认真听取实验指导老师讲解与演示。 二、具体实验内容、步骤、要求: 1.运行交互式学习软件,学习MATLAB语言 2.在MATLAB的命令窗口下键入如下命令: INTRO (注意:intro为一个用MATLAB语言编写的幻灯片程序,主要演示常用的MATLAB语句运行的结果。) 然后,根据显示出来的幻灯片右图按钮进行操作,可按START→NEXT→NEXT按钮一步步运行,观察。 3.自编程序并完成上机编辑,调试,运行,存盘: (1)、用MATLAB命令完成矩阵的各种运算。 例如: 求出下列运算结果,并上机验证。 (1)A(:,1) %取矩阵A的第一列元素 ans = 11 21 31 41 (2)A(2,:) %取矩阵A的第二行元素 ans = 21 22 23 24 (3)A(1:2,2:3) %取矩阵A第一二行第二三列的元素 ans = 12 13 22 23 (4)A(2:3,2:3) %取矩阵A第二三行第二三列的元素 ans = 22 23 32 33 (5)A(:,1:2) %取矩阵A第一列与第二列元素 ans = 11 12 21 22 31 32

41 42 (6)A(2:3) %取矩阵A第二行与第三行的首列元素 ans = 21 31 (7)A(:) %将矩阵A的所有元素按一列排列 ans = 11 21 31 41 12 22 32 42 13 23 33 43 14 24 34 44 (8)A(:,:) %显示矩阵A ans = 11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44 (9)ones(2,2) %建立一个两行两列的全1矩阵 ans = 1 1 1 1 (10)eye(2) %建立一个二维的单位矩阵 ans = 1 0 0 1 (2)、绘制数学函数的图形: 例如:,理解数组运算与矩阵运算的功能。MATLAB程序如下: t=0:0.1:8; %建立向量t y=1-2*exp(-t.*sin(t)); %计算向量t的函数向量y plot(t,y); %利用plot命令绘图

基于Matlab的空间滤波实验的计算机仿真.

35 基于Matlab 的空间滤波实验的计算机仿真 张奇辉,王洪,蓝发超 (华南理工大学物理科学与技术学院,广东广州 510640 摘要:利用阿贝-波特实验装置和空间滤波系统,从改变频谱入手改造一幅光学图形进行光学信息处理。在 此基础上,通过Matlab 环境编写程序完成阿贝-波特实验的物理模型的构建并进行计算机模拟实验。 关键词:计算机模拟;Matlab ;空间滤波 中图分类号:TP391.9 文献标识码:A 文章编号:1003-7551(200801-0035-04 1 引言 在工程设计领域中,人们通过对研究对象建立模型,用计算机程序实现系统的运行和得到运行结果,寻找出最优方案,然后再予以物理实现,这就是计算机仿真科学。在计算机日益普及的今天,计算机仿真技术作为虚拟实验手段已经成为计算机应用的一个重要分支。它是继理论分析和实物实验之后,认识客观规律性的新型手段。作为科学计算软件,Matlab 的特点是使用方便、输入便捷、运算功能齐全,而且有大量的函数可供使用。因此本文提出基于Matlab 软件,通过在频谱面上设置滤波器对空间频谱的处理,实现对阿贝-波特 实验装置和空间滤波系统的模拟。为了实现仿真实验操作的方便,本文设计出了图形用户可操作界面(GUI 。 2 空间滤波原理

根据阿贝成像原理,相干光学成像过程可分为两步:第一步称为分频过程,即从物平面到光源的共轭像平面或曰频谱面,由输入的物作为衍射屏对照射光波产生夫琅和费衍射;第二步称为合频或频谱综合过程,即从频谱面到输入物的共轭像平面,被分解的频谱成分经进一步的衍射后再次叠加形成输入物的共轭像。按照傅里叶变换理论,两步成像过程实际上是光学系统对携带输入物信息的二维光场的复振幅分布进行的两次傅里叶变换过程。 以图1所示4f 成像系统为例,此时输入平面O(即物平面位于透镜1L 的前焦平面,输出平面I(即像平面位于透镜1L 的后焦平面。透镜1L 和2L 分别起分频(傅里叶变换和合频(逆傅里叶变换作用。设输入图像的复振幅分布为,(y x g ,透镜1L 后焦平面T(即频谱面上的复振幅分布为,(ηξG ,按照傅里叶光学理论,当1L 的孔径无限大时,函数,(ηξG 即等于,(y x g 的傅里叶变换,而,(y x g 为,(ηξG 的傅里叶逆变换,即 (,(,exp i2(d d x y x y G f f g x y f x f y x y π∞ ?∞ ??=?+??∫∫(1 (,(,exp[i2(]d d g x y G x y ξηπμνμν∞∞ ?∞?∞=+∫∫ (2 其中/f μξλ=,/f νηλ=,表示光场(,G ξη的空间频率。设(','g x y 为透镜2L 后焦平面I(输出平面上的复振幅分布,同样,当2L 的孔径无限大时,(','g x y 就等于的傅里叶变换: (','(,exp[i2('']d d g x y G x y ξηπμνμν∞∞?∞?∞= +∫∫ (3 可以得 (','(,g x y g x y ∝?? (4 即输出图像是输入图像的倒置,且在几何上相似。

基于MATLAB的数字模拟仿真..

基于MATLAB的数字模拟仿真 摘要:本文阐述了计算机模拟仿真在解决实际问题时的重要性,并较为系统的介绍了使用计算机仿真的原理及方法。对于计算机模拟仿真的三大类方法:蒙特卡罗法、连续系统模拟和离散事件系统模拟,在本文中均给出了与之对应的实例及基于MATLAB模拟仿真的相关程序,并通过实例深入的分析了计算机模拟解决实际问题的优势及不足。 关键词:计算机模拟;仿真原理;数学模型;蒙特卡罗法;连续系统模拟;离散事件系统模拟 在实际问题中,我们通常会面对一些带随机因素的复杂系统,用分析方法建模常常需要作许多简化假设,这样进行处理过后的模型与我们面临的实际问题可能相差很远,以致求解得到答案根本无法应用,这时,计算机模拟几乎成为唯一的选择。本文通过对计算机模拟仿真进行系统地介绍,寻求利用模拟仿真来解决问题的一般方法,并深入探讨了这些方法的长处和不足。我们定义一些具有特定的功能、相互之间以一定的规律联系的对象所组成的总体为一个系统,模拟就是利用物理的、数学的模型以系统为问题解决对象,来类比、模仿现实系统及其演变过程,以寻求过程规律的一种方法。模拟的基本思想是建立一个实验的模型,这个模型包含所研究系统的主要特点,这样做的目的就是通过对这个实验模型的运行,获得所要研究系统的必要信息。另外,系统的运行离不开算法,仿真算法是将系统模型转换成仿真模型的一类算法,在数字仿真模型中起核心和关键作用。 1、所谓计算机仿真 计算机仿真是利用计算机对一个实际系统的结构和行为进行动态演示,以评价或预测该系统的行为效果。它是解决较复杂的实际问题的一条有效途径。针对一个确定的系统,根据运行的相似原理,利用计算机来逼真模仿研究对象(研究对象可以是真实的系统,也可以是设想中的系统),计算机仿真是将研究对象进行数学描述,建模编程,且在计算机中运行实现。 对比于物理模拟通常花费较大、周期较长,且在物理模型上改变系统结构和系数都较困难的诸多缺陷,计算机模拟不怕破坏、易修改、可重用,有更强的系统适应能力。但是计算机模拟也有缺陷,比如受限于系统建模技术,即系统数学模型不易建立、程序调试复杂等。 计算机仿真可以用于研制产品或设计系统的全过程中,包括方案论证、技术指标确定、设计分析、生产制造、试验测试、维护训练、故障处理等各个阶段。 2、计算机仿真的目的 对于一个系统,是否选择进行计算机模拟的问题,基于判断计算机模拟与非计算机模拟方法孰优孰劣的问题。归纳以下运用计算机模拟的情况: (1)在一个实际系统还没有建立起来之前,要对系统的行为或结果进行分析研究时,计算机仿真是一种行之有效的方法。 (2)在有些真实系统上做实验会影响系统的正常运行,这时进行计算机模拟就是为了避免给实际系统带来不必要的损失。如在生产中任意改变工艺参数可能会导致废品,在经济活动中随意将一个决策付诸行动可能会引起经济混乱。 (3)当人是系统的一部分时,他的行为往往会影响实验的效果,这时运用系统进行仿真研究,就是为了排除人的主观因素的影响。

计算机仿真 MATLAB课程设计报告

《计算机仿真》MATLAB课程设计报告 学院:自动化学院 专业:自动化专业 班级: 姓名: 学号: 2013年1月14日

目录 一、基本操作 (1) 1、定义一组数据 (1) 2、作f1(t)的波形 (1) 3、作f2(t)的波形 (2) 4、求传递函数以及伯德图 (3) 二、子系统封装 (4) 1、用simlink建立系统 (4) 2、锯齿波输入下的输出 (5) 3、在工作空间绘制波形图 (6) 三、PID控制器参数整定 (7) 1、设置各控制器参数 (8) 2、整定后系统的单位阶跃响应曲线 (10) 3、编程法求动态性能指标 (13) 四、总结与体会 (14) 五、参考文献 (14)

一、基本操作 程序实现: 1、自己定义一组数据,并将其保存到文件data.dat 。要求第一列为时间t (t 为等差数列,0≤t≤200);第二列为与t 对应的201个幅值数据,作为信号f 1 (t )的幅值;第三列为按s 的降幂排列的传递函数分子系数;第四列为按s 的降幂排列的分母系数。第三列、第四列的数据个数不能超过5个。 2、读入data.dat 数据,画出f 1 (t )的时域波形。 3 ? ?? ? =)(f 2t 求取f 2 (t ),将结果保存到result.mat 文件,画出其时域波形。 4、按 data.dat 中的第三列、第四列,求取其对应的传递函数,绘制其bode 图。 报告要求:简述程序的实现过程。 各环节实现过程: 1、直接在excel 中按要求写入一组数据,即第一列201个数据t 代表201个时间0--200;第二列是与第一列对应的201个幅值数据;第三列为按s 的降幂排列的传递函数分子系数;第四列为按s 的降幂排列的分母系数。 2、要画出f1(t)的时域波形,具体做法是:先读取excel 中的数据,把它们放入一个矩阵A ,取矩阵的第一列作为输入x ,取矩阵的第二列作为输入y ,最后用plot 命令绘制出f1(t)的时域波形。具体编程及f1(t)的时域波形如下:A=xlsread('J:\data.dat.xls', 'sheet1');x=A(:,1);y=A(:,2);plot(x,y)

matlab控制系统计算机仿真实验-完整版

MALTAB 仿真实验指导书 实验一 实验题目: 欧拉法&梯形法的MATLAB 实现 实验目的: 1.熟练掌握MATLAB 的使用方法 2.牢记欧拉法、梯形法的计算过程 3.熟悉欧拉法、梯形法以及实现二阶动态响应的程序编写 实验内容: 已知被控对象的系数矩阵分别为 A=[-5 -2 -1 -0.5;4 0 0 0;0 2 0 0;0 0 1 0 ] B=[1;0;0;0]; C=[0 0 0.25 0.5]; D=0; 根据欧拉法、梯形法的递推公式,应用MATLAB 语言编写相应的仿真程实验要求: 1.取计算步长65.0=h ,初值均为零,输入为阶跃信号,取25=u ,研究系统25秒的动态过程。 2.取计算步长01.0=h ,初值均为零,输入为阶跃信号,取25=u ,研究系统25秒的动态过程。 实验算法: 欧拉法递推公式: ),(1k k k k y t hf y y +=+ 梯形法的递推公式: )],(),([2 ) ,(011101++++++=+=k k k k k k k k k k y t f y t f h y y y t hf y y 实验方法: 利用所学过数值积分方法(欧拉法、梯形法),通过MATLAB 语言对给定的系统进行仿真 实验步骤: 1.了解并掌握基本数值积分的方法,即欧拉法、梯形法,并做比较,了解它们之间的联系与区别和优缺点,其中重点掌握梯形法。 2.通过给定的系统,利用欧拉法、梯形法编写相应MATLAB 语言,实现仿真,得出相应的仿真曲线。 3.比较仿真实验结果,并得出结论。 4.撰写实验报告。 实验程序: 1.欧拉法

A=[-5 -2 -1 -0.5;4 0 0 0;0 2 0 0;0 0 1 0]; B=[1;0;0;0]; C=[0 0 0.25 0.5]; D=0; x0=[0;0;0;0];% x0为状态变量的初值,此处以列向量表示; u=25;% u为输入向量; t0=0;% t0为仿真时间的起始时刻; tf=15;% tf为仿真时间的结束时刻; h=0.65;% h=0.01 h为仿真时所取的仿真步长; m=(tf-t0)/h; [r,c]=size(A); for i=1:m for j=1:r x(j)=x0(j)+h*(A(j,:)*x0+B(j,:)*u); end y(i)=C*x'; x0=x'; t(i)=i*h; end plot(t,y) grid on title('useEuler') 2.梯形法 A=[-5 -2 -1 -0.5;4 0 0 0;0 2 0 0;0 0 1 0]; B=[1;0;0;0]; C=[0 0 0.25 0.5]; D=0; x0=[0;0;0;0];% x0为状态变量的初值,此处以列向量表示; u=25;% u为输入向量; t0=0;% t0为仿真时间的起始时刻; tf=15;% tf为仿真时间的结束时刻; h=0.65;% h=0.01 h为仿真时所取的仿真步长; m=(tf-t0)/h; [r,c]=size(A); for i=1:m for j=1:r x(j)=x0(j)+h*(A(j,:)*x0+B(j,:)*u); end x1=x'; for k=1:r xx(k)=x0(k)+0.5*h*((A(k,:)*x0+B(k,:)*u)+(A(k,:)*x1+B(k,:)*u)); end y(i)=C*xx';

基于MATLAB的交通流计算机模拟

基于MATLAB的交通流计算机模拟 摘要: 设计标准和各类出行,环境及社会的发展预测,对六车道的桥面的的交通流进行预测模拟,并实现其可视化,直观地了解未来桥面的车流模式,为评估和修正设计方案提供依据。 本作品利用MATLAB软件方便的技术方法来实现交通流的模拟和可视化,具有较强的可读性和可控制性。 1 引言 计算机模拟技术作为一门独立的学科始于20世纪40年代。70年代以来,随着系统科学与计算机科学技术的发展,模拟技术得到了迅猛的发展,已经广泛地应用几乎所有的学科。在交通运输系统的规划、设计、运营分析等方面的应用更是得到了长足发展,并在交通运输工程学科中形成了交通模拟这一崭新的领域。 交通模拟技术在分析、评价公路运输系统及其构成单元中起主要角色。它们通常与其他诸如供给-需求分析、通行能力分析、交通流模拟、跟车理论、波动理论等分析方法相结合来构造复杂的公路交通子系统,或一些子系统经过相互作用而组成的大系统的模拟框架。这些子系统可以是单个的信号交叉口、无信号交叉口、居民区或商业中心区的交通密集路网、线控或网控信号系统、高速公路、乡村双车道公路或多车道公路系统。 到现在为止,可以说交通问题的研究已经有三种方法——经验实测方法、理论分析方法、计算机模拟方法。最常用的方法是经验实测法。实测法的最大优点是基本数据都来源于实际现场,有限大的可信度,不需要什么假设条件。但是,其弱点是对于个别因素的影响情况很难确定。理论分析法,总是要采取一些基本

假设,这些假设受理论研究者水平的限制有些可能不正确,必定或多或少地与实际有些偏差。其优点是对于个别因素的影响有明确的数量关系表示。计算机模拟则间有以上两种方法的优点,由于计算机模拟模型是理论推演,抽象出来的,而一些基本数据则是来自现场实测,而且利用计算机模拟方法能产生很多像实测法那样得到的交通数据。 MATLAB 是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,拥有友好的工作平台和编程环境,简单易用的程序语言,强大的科学计算机数据处理能力,出色的图形处理功能,应用广泛的模块集合工具箱,实用的程序接口和发布平台等诸多优点,方便交通流模拟的实现和可视化,大大减轻程序语言的复杂程度。 2 六车道交通流的运行模型 建立交通流模型的根本目的是要以足够的精度来再现客观的交通现象,在进行交通流的微观模拟的过程中,根据交通流分布的一般规律、交通调查和基本经验为基础,全面构造车辆的到达,车流分布,车辆类型,车速,在路段上自由行驶,跟驰等。这里的交通模型主要包括两部分:一是车辆的产生模型;二是车辆的行驶模型。 车辆产生模型就是车辆的输入部分,作用与被模拟路段的起始断面上,它依依靠随机技术产生符合给定参数的泊松分布,向系统提供初值,并以经验概率分布于六个不同的车道。车辆的行驶模型即是反应车辆在路段上行驶状态变化的模型,本文根据交通调查得出的一般车流车辆类型的分布将车辆分为十一种类型,前六种为固定车重的车辆,以各自不等的概率出现在模拟路段的车道上;后六种车是变载的车辆,将其分为空车和满载两种情况(不计车辆半载情况),并以不同的概率出现。车速根据交通调查所得的各类型的车辆的平均车速,并允许其随机产生上下数值为μ的震荡,这里我们取μ为0.1。

MATLAB变压器仿真

扬州大学 专业软件应用综合设计报告 水能学院13级电气专业题目变压器综合仿真设计二 学生某某某学号131504207指导教师张建华 2015年12月30日

目录 一、设计题目 (2) 二、正文 (2) 1、引言 (2) 2、设计依据及框图 (3) 2.1 设计平台 (3) 2.2 设计思想 (4) 2.3 设计结构框图或流程图 (6) 2.4各模块功能简介 (6) 3、软件调试分析 (10) 4、结语 (23) 5、参考文献 (25) 6、致谢 (25)

.

变压器综合仿真设计二 摘要:随着变压器技术的进步,传统仿真已经受到了很大的限制。并且当下要推动变压器技术的发展,已经不能再依靠传统仿真。因此,对于变压器的计算机仿真技术势在必行。 本为通过MATLAB软件,对变压器的运行特性进行了仿真。主要仿真的内容包括:变压器磁路电流畸变以及变压器负载运行特性曲线研究。仿真所用到的方法为数值计算方法,通过插值的方法实现了对曲线的拟合。仿真时,结合实际情况可输入不同参数便于研究。文中给出了各种运行特性的仿真结果图,并且结合理论对其做了简单的分析,验证了仿真方法的准确性和可行性。 关键字:变压器;MATLAB仿真分析;曲线拟合 1 引言 设随着科学技术进步,电工电子新技术的不断发展,新型电气备不断涌现,人们使用电的频率越来越高,人与电的关系也日益紧密,对于电性能和电气产品的了解,已成为人们必需的生活常识。 变压器是一种静止的电气设备,它是利用电磁感应原理把一种电压的交流电能转变成同频率的另一种电压的交流电能,以满足不同负载的需要。在电力系统中,变压器是一个重要的电气设备,它对电能的经济传输,灵活分配和安全使用具有重要的作用,此外,也使人们能够方便地解决输电和用电这一矛盾。由于计算机仿真技术的出现,传统的物理仿真系统逐渐的被计算机仿真系统代替。计算机仿真系统所具有的效率高、精度高、重复性和通用性好、容易改变仿真参数等优点,还可以实现物理仿真无法实现的有危险性的或者是成本昂贵的仿真。在我国电力行业发展迅速的今天,变压器的仿真技术不能够再依托于传统的物理仿真系统,而是需要能够采用能够促进变压器技术发展的仿真技术。 对变压器特性的仿真涉及到很多方面,比如变压器空载励磁电流在饱和和磁滞影响时的特性、变压器磁滞回环在不同电压等级下的数据仿真、变压器空载合闸时的过电流现象、变压器在突发短路时的过电流现象,还有基本的比如效率特性、外特性、短路试验、空载试验等。 在学习完本课程后,运用MATLAB相关仿真技术对变压器进行仿真研究,本文的仿真主要以变压器磁路电流畸变以及变压器负载运行特性曲线为主要研究对象,通过结合实际进行曲线拟合、波形分析,得出相应结论。

油藏数值模拟显式差分MATLAB源程序

%显式求解方法 %t为投产后某一时刻,单位:天; %d:迭代时间; %Pwf1:W1井底流压; %Q2:W2井产油量; function [P1,d,Pwf1,Q2]=explict(t) %油藏参数 Pini=20; u=5e-3; C=2e-4; Q1=30; Pwf2=15; dx=200; dy=200; dt=1.7; n=t*24/dt;%迭代时间步数 re=0.208*dx; rw=0.1; %渗透率 K=[0 259 222 200 190 180 185 0 0 0 0;259 259 222 200 190 180 185 185 0 0 0;310 310 240 235 228 210 195 195 0 0 0;330 330 290 270 250 230 205 197.5 180 185 0;350 350 300 280 259 222 200 190 180 185 185;340 340 320 290 310 240 235 228 210 195 195;355 355 335 315 310 290 270 250 230 205 205;0 0 0 0 325 300 280 240 210 215 215;0 0 0 0 340 320 290 260 235 225 225;0 0 0 0 355 335 315 295 275 255 0]; %厚度 H=K/50; %孔隙度 Fai=(K.*0.02+15)/100; %原始地层压力 P=Pini*ones(10,11); %P(8:10,1:4)=0; %P(1:3,9:11)=0; %P(1,1)=0; %P(1,8)=0; %P(10,11)=0; %P(4,11)=0; %生产后某一时刻地层压力 P1=Pini*ones(10,11); %P1(8:10,1:4)=0; %P1(1:3,9:11)=0; %P1(1,1)=0; %P1(1,8)=0; %P1(10,11)=0; %P1(4,11)=0;

最短路径matlab计算机仿真

计算机仿真期末作业 姓名:吴隐奎 班级:04601 学号:041751 日期:2007-6-15 题目:Floyd 算法实现和分析 内容:用MATLAB 仿真工具实现Floyd 算法,求任意两端间的最短路径。 要求:尽可能用M 函数分别实现算法的关键部分,用M 脚本来进行算法结果验证;分别用以下两个图(用初始距离矩阵表示)进行算法验证: 图一:(0)0 100 100 1.2 9.2 100 0.5100 0 100 5 100 3.1 2100 100 0 100 100 4 1.51.2 5 100 0 6.7 100 1009.2 100 100 6.7 0 15.6 100100 3.1 4 100 15.6 0 1000.5 2 1.5 100 100 100 0]W ??????????=???????????? 图二:(0) 0 0.5 2 1.5 100 100 1000.5 0 100 100 1.2 9.2 1002 100 0 100 5 100 3.11.5 100 100 0 100 100 4100 1.2 5 100 0 6.7 100100 9.2 100 100 6.7 0 15.6100 100 3.1 4 100 15.6 0W ??????????=???????????? 算法:给定图G 及其边(,)i j 的权,(1,1)i j w i n j n ≤≤≤ ≤ F0:初始化距离矩阵(0)W 和路由矩阵(0)R 。其中: (0)0ij ij ij ij w e E w e E i j ∈??=∞???=? 若(有边) 若(无边) 若(对角线元素) (0)(0)w 0,ij ij j r ?≠∞=?? 若 其它 F1:已求得(-1)k W 和(-1)k R ,依据下面的迭代求()k W 和()k R ()(1)(1)(-1),,,,min(,)k k k k i j i j i k k j w w w w --=+

基于MATLAB的光学实验模拟

基于MATLAB的光学实验模拟 摘要: 利用MATLAB软件编程实现了用衍射积分的方法对单缝衍射、杨氏双缝干涉、黑白 光栅衍射的计算机模拟;以及用傅立叶变换方法对简单孔径衍射、黑白光栅及正弦光栅夫 琅和费衍射的模拟。 关键词: MATLAB;衍射积分;傅立叶变换;计算机模拟 引言: 美国Mathworks公司推出的MA TLAB,是一种集数值计算、符号预算、可视化建模、 仿真和图形处理等多种功能于一体的优秀图形化软件。本文介绍了通过MA TLAB软件编 程实现用衍射积分和傅立叶变换实现夫琅和费衍射计算机模拟的方法。 计算机模拟为衍射实验的验证提供一条简捷、直观的途径。从而加深了对物理原理、 概念和图像的理解。 正文: 大学教学课程中引入计算机模拟技术正日益受到重视,与Basic、C和Fortran相比,用MA TLAB软件做光学试验的模拟,只需要用数学方式表达和描述,省去了大量繁琐的编 程过程。下面来介绍利用MATLAB进行光学模拟的两种方法。 (一)衍射积分方法: 该方法首先是由衍射积分算出接收屏上的光强分布,然后根据该分布调制色彩作图,从而得到衍射图案。 1.单缝衍射。 把单缝看作是np个分立的相干光源,屏幕上任意一点复振幅为np个光源照射结果 的合成,对每个光源,光程差Δ=ypsinΦ,sinΦ=ys/D,光强I=I0(Σcosα)2+(Σsinα)2,其中α=2Δ/λ=πypys/λD 编写程序如下,得到图1 lam=500e-9; a=1e-3;D=1; ym=3*lam*D/a; ny=51; ys=linspace(-ym,ym,ny); np=51; yp=linspace(0,a,np); for i=1:ny sinphi=ys(i)/D; alpha=2*pi*yp*sinphi/lam; 图1 单缝衍射的光强分布 sumcos=sum(cos(alpha)); sumsin=sum(sin(alpha)); B(i,:)=(sumcos^2+sumsin^2)/np^2; end N=255; Br=(B/max(B))*N; subplot(1,2,1)

MATLAB水波模拟源代码

function waterwave % WATER WAVE % 2D Shallow Water Model % % Lax-Wendroff finite difference method. % Reflective boundary conditions. % Random water drops initiate gravity waves. % Surface plot displays height colored by momentum. % Plot title shows t = simulated time and tv = a measure of total variation. % An exact solution to the conservation law would have constant tv. % Lax-Wendroff produces nonphysical oscillations and increasing tv. % % Information: % Author: cuixing % qq:577737382 % email: 577737382@https://www.doczj.com/doc/778790733.html, % Parameters n = 64; % grid size g = 9.8; % gravitational constant

dt = 0.01; % hardwired timestep dx = 1.0; dy = 1.0; nplotstep = 8; % plot interval ndrops = 5; % maximum number of drops dropstep = 500; % drop interval D = droplet(1.5,21); % simulate a water drop % Initialize graphics [surfplot,top,start,stop] = initgraphics(n); % Outer loop, restarts. while get(stop,'value') == 0 set(start,'value',0) H = ones(n+2,n+2); U = zeros(n+2,n+2); V = zeros(n+2,n+2); Hx = zeros(n+1,n+1); Ux = zeros(n+1,n+1); Vx = zeros(n+1,n+1); Hy = zeros(n+1,n+1); Uy = zeros(n+1,n+1); Vy = zeros(n+1,n+1); ndrop = ceil(rand*ndrops); nstep = 0; % Inner loop, time steps. while get(start,'value')==0 && get(stop,'value')==0 nstep = nstep + 1; % Random water drops if mod(nstep,dropstep) == 0 && nstep <= ndrop*dropstep w = size(D,1); i = ceil(rand*(n-w))+(1:w); j = ceil(rand*(n-w))+(1:w); H(i,j) = H(i,j) + rand*D; end % Reflective boundary conditions H(:,1) = H(:,2); U(:,1) = U(:,2); V(:,1) = -V(:,2); H(:,n+2) = H(:,n+1); U(:,n+2) = U(:,n+1); V(:,n+2) = -V(:,n+1); H(1,:) = H(2,:); U(1,:) = -U(2,:); V(1,:) = V(2,:); H(n+2,:) = H(n+1,:); U(n+2,:) = -U(n+1,:); V(n+2,:) = V(n+1,:); % First half step

相关主题
文本预览
相关文档 最新文档