MATLAB仿真实例(计算机仿真研究的步骤)
利用Matlab进行模拟与仿真实验的基本方法

利用Matlab进行模拟与仿真实验的基本方法研究物理现象和工程问题时,我们常常需要进行模拟与仿真实验。
模拟与仿真实验是一种方便、经济且高效的方法,可以帮助我们更好地理解和预测系统的行为。
在模拟与仿真实验中,Matlab是一个功能强大且广泛使用的工具。
它不仅具有丰富的数学和工程计算功能,还提供了直观的用户界面和易于使用的命令语法。
本文将介绍利用Matlab进行模拟与仿真实验的基本方法。
一、了解问题在进行模拟与仿真实验之前,我们首先需要深入了解所研究问题的背景和相关理论知识。
只有充分理解问题,我们才能准确地建立数学模型和选择合适的仿真算法。
因此,在进行模拟与仿真实验之前,我们应该阅读相关的文献和教材,并与领域内的专家进行交流。
二、建立数学模型建立数学模型是模拟与仿真实验的关键步骤。
一个好的数学模型能够准确地描述模拟对象的行为,并能够反映出实际系统的特点。
在Matlab中,我们可以使用符号计算工具箱来建立数学模型。
符号计算工具箱可以帮助我们定义符号变量、运算符号表达式和求解方程等。
在建立数学模型时,我们需要注意选择合适的变量和参数,并使用正确的物理单位对其进行定义。
三、选择仿真算法选择合适的仿真算法是模拟与仿真实验的关键决策。
不同的问题可能需要使用不同的仿真算法。
在Matlab中,我们可以使用内置的仿真工具箱来选择和应用不同的仿真算法。
仿真工具箱提供了丰富的仿真算法库,如欧拉法、龙格-库塔法和有限元法等。
在选择仿真算法时,我们应该评估算法的精确性、速度和稳定性,并根据实际情况进行权衡取舍。
四、编写仿真程序在建立数学模型和选择仿真算法之后,我们需要使用Matlab编写仿真程序。
仿真程序是实现模拟与仿真实验的关键工具。
在编写仿真程序时,我们应该遵循一些基本的编程原则,如模块化设计、代码复用和错误处理等。
同时,我们应该充分利用Matlab的各种功能和工具,如图形界面设计、符号计算和并行计算等,以提高仿真程序的性能和可靠性。
MATLAB仿真技术实验教案

MATLAB仿真技术实验教案第一篇:MATLAB仿真技术实验教案《MATLAB仿真技术》实验教案实验一实验名称:熟悉Matlab交互工作界面一、实验目的1、熟悉Matlab各种工作界面的操作要旨2、掌握Matlab的基本操作命令二、实验步骤1、命令窗口(1)体验命令窗口的菜单及各项功能(2)尝试命令窗口编辑特殊功能键和设置2、工作空间窗口与当前路径窗口(1)在工作空间窗口查看及修改变量(2)添加新的路径为Matlab路径3、图形窗口和文本编辑窗口(1)练习图形窗口中修改图形的方法(2)在文本编辑窗口调试程序4、体会Matlab的基本操作命令三、实验仪器PC机 MATLAB软件四、实验结果五、结论实验二实验名称:Matlab在符号计算方面的应用一、实验目的1、掌握标识符的生成和使用2、掌握矩阵及变量的赋值3、熟悉三类运算符及其功能二、实验内容1、标识符的生成和使用1)、计算y=x+(x-0.98)/(x+1.35)-5(x+1/x),当x=2和x=4时的值。
>>x=[2 4];y=x.^3+(x-0.98).^2./(x+1.35).^3-5*(x+1./x);y y = -4.4723 42.8096 32)、计算cos60-9-2。
ο323>> y=cos(pi/3)-(9-sqrt(2))^(1/3)y =-1.46492、矩阵及变量的赋值21)、已知a=3,A=4,b=a,B=b2-1,c=a+A-2B,C=a+2B+c,求C >> a=3;A=4;b=a^2;B=b^2-1;c=a+A-2*B;C=a+2*B+c;C C = 2)、创建3×4矩阵魔方阵和相应的随机矩阵,将两个矩阵并接起来,然后提取任意两个列向量。
>> A=magic(4);A(4,:)=[];B=rand(3,4);C=[A B];D=C(:,3);E=C(:,4);D,E D = 3 10 6E =8 12 3)、创建一个5×5随机阵并求其逆。
matlab(仿真法)具体讲解

执行下面的命令:ode23(‘zjwt',[3,0.0005],0)
若想看图中点的坐标可执行下面的命令: [t,y]=ode23(‘zjwt',[3,0.0005],0) plot(t,y) 此时缉私艇的位置坐标是(0.00050000000000,1.96013657712118) 执行下面的命令: ode45(‘zjwt',[3,0.0005],0) 若想看图中点的坐标可执行下面的命令: [t,y]=ode45(‘zjwt',[3,0.0005],0) plot(t,y) 此时缉私艇的位置坐标是(0.0005,1.9675 )
例3
求微分方程组的通解. dx dt 2 x 3 y 3z dy 4 x 5 y 3z dt dz 4 x 4 y 2 z dt
解 输入命令 : [x,y,z]=dsolve('Dx=2*x-3*y+3*z','Dy=4*x5*y+3*z','Dz=4*x-4*y+2*z', 't'); x=simple(x) % 将x化简 y=simple(y) z=simple(z) 结 果 为:x = (c1-c2+c3+c2e -3t-c3e-3t)e2t y = -c1e-4t+c2e-4t+c2e-3t-c3e-3t+c1-c2+c3)e2t z = (-c1e-4t+c2e-4t+c1-c2+c3)e2t
例 29y 0 dx dx y (0) 0, y ' (0) 15
解 输入命令: y=dsolve('D2y+4*Dy+29*y=0','y(0)=0,Dy(0)=15','x') 结 果 为 : y =3e-2xsin(5x)
Matlab仿真实验教程

MATLAB的实验仿真目录实验一MATLAB在控制系统模型建立与仿真中的应用 (1)实验二典型系统的时域响应分析 (13)实验三线性控制系统的根轨迹与频域分析 (17)实验四线性系统的校正 (22)附录一 MATLAB6.5 控制系统工具箱函数和结构化的控制语句 (30)附录二 SIMULINK 基本模块介绍 (34)实验一MATLAB 在控制系统模型建立与仿真中的应用一、MATLAB 基本操作与使用1. 实验目的1) 掌握MATLAB 仿真软件的安装及启动,熟悉MATLAB工作环境平台。
2) MATLAB 命令窗口,包括工具条以及菜单选项的使用;MATLAB 语言的基本规定,包括数值的表示、变量命名规定、基本运算符、预定义变量以及表达式等。
3) MATLAB图形绘制功能、M 文件程序设计和线性控制系统传递函数模型的建立等。
2. 实验仪器PC计算机一台,MATLAB软件1套3. 实验内容1) MATLAB 的启动这里介绍MATLAB 装入硬盘后,如何创建MATLAB 的工作环境。
方法一MATLAB 的工作环境由matlab.exe 创建,该程序驻留在文件夹matlab\bin\中。
它的图标是matlab。
只要从<我的电脑>或<资源管理器>中去找这个程序,然后双击此图标,就会自动创建如图1所示的MATLAB6.5 版的工作平台。
Command Window图1 在英文Windows 平台上的MATLAB6.5 MATLAB工作平台方法二假如经常使用MATLAB,则可以在Windows 桌面上创建一个MATLAB 快捷方式图标。
具体办法为:把<我的电脑>中的matlab 图标用鼠标点亮,然后直接把此图标拖到Windows桌面上即可。
此后,直接双击Windows 桌面上的matlab 图标,就可建立图1所示的MATLAB工作平台。
2) MATLAB工作环境平台桌面平台是各桌面组件的展示平台,默认设置情况下的桌面平台包括 6 个窗口,具体如下:① MATLAB 窗口MATLAB6 比早期版本增加了一个窗口。
Matlab中的模拟与仿真技术详解

Matlab中的模拟与仿真技术详解引言Matlab是一种被广泛应用于科学研究和工程领域的高级计算环境和编程语言。
它提供了丰富的函数库和工具箱,使得模拟和仿真技术得以在各种科学和工程应用中发挥出色的作用。
本文将详细介绍Matlab中的模拟与仿真技术,并深入探讨其在不同领域的应用。
一、Matlab中的模拟技术1.1 数学模型的建立在Matlab中进行模拟,首先需要建立相应的数学模型,以描述系统的行为。
数学模型可以是一组方程、差分方程、微分方程等,用于描述系统的输入、输出和中间变量之间的关系。
Matlab提供了强大的数学工具,如符号计算工具箱,可以帮助用户更方便地建立和求解各种数学模型。
1.2 信号与系统模拟信号与系统模拟是Matlab中常见的一种模拟技术。
通过模拟信号的输入、处理和输出过程,可以对系统进行分析和验证。
在Matlab中,可以使用信号处理工具箱中的函数来生成、操作和分析各种类型的信号。
例如,可以生成正弦波、方波、脉冲信号等,并对它们进行滤波、频谱分析、时频分析等操作。
1.3 电路模拟电路模拟是Matlab中另一个常用的模拟技术。
通过建立电路模型,可以对电路的行为进行仿真和分析。
Matlab提供了电路仿真工具箱,用户可以通过搭建电路拓扑结构和设置元器件参数,实现对电路的模拟和分析。
这种电路模拟技术在电子电路设计、性能评估和故障诊断等领域有广泛的应用。
1.4 机械系统模拟除了信号与系统和电路模拟外,Matlab还可以进行机械系统的模拟。
通过建立机械系统的动力学模型,可以预测物体的运动规律、受力情况等。
Matlab提供了机械系统建模和仿真工具箱,用户可以建立刚体系统、弹簧阻尼系统等,并进行仿真和动态分析。
这种机械系统模拟技术在机械工程、工业设计等领域具有重要的应用价值。
二、Matlab中的仿真技术2.1 数值仿真数值仿真是Matlab中最常见的仿真技术之一。
它通过数值计算方法对系统进行仿真,并得到系统的数值解。
基于Matlab的计算机控制技术仿真实验

实验一 基于Matlab 的控制系统模型一、 实验目的1. 熟悉Matlab 的使用环境,学习Matlab 软件的使用方法和编程方法2. 学习使用Matlab 进行各类数学变换运算的方法3. 学习使用Matlab 建立控制系统模型的方法二、 实验器材x86系列兼容型计算机,Matlab 软件三、 实验原理1. 香农采样定理对一个具有有限频谱的连续信号f(t)进行连续采样,当采样频率满足max 2ωω≥S 时,采样信号f*(t)能无失真的复现原连续信号。
作信号t e t f 105)(-=和kT 10*5)(-=e t f 的曲线,比较采样前后的差异。
幅度曲线: T=0.05 t=0:T:0.5f=5*exp(-10*t) subplot(2,1,1) plot(t,f) gridsubplot(2,1,2) stem(t,f) grid请改变采样周期T ,观察不同的采样周期下的采样效果。
幅频曲线: w=-50:1:50F=5./sqrt(100+w.^2) plot(w,F) grid若|)0(|1.0|)(|max F j F =ω,选择合理的采样周期T 并验加以证 w=-400:20:400 ws=200 Ts=2*pi/wsF0=5/Ts*(1./sqrt(100+(w).^2)) F1=5/Ts*(1./sqrt(100+(w-ws).^2)) F2=5/Ts*(1./sqrt(100+(w+ws).^2)) plot(w,F0,w,F1,w,F2) grid请改变采样频率ws ,观察何时出现频谱混叠?2. 拉式变换和Z 变换使用Matlab 求函数的拉氏变换和Z 变换 拉式变换: syms a w t f1=exp(-a*t) laplace(f1) f2=tlaplace(f2) f3=t* exp(-a*t) laplace(f3) f4=sin(w*t)Z 变换: syms a k T f1=exp(-a*k*T) ztrans(f1) f2=k*T ztrans(f2)f3=k*T*exp(-a*k*T) ztrans(f3) f4=sin(a*k*T)laplace(f4)f5=exp(-a*t)*cos(w*t) laplace(f5)反拉式变换 syms s a f1=1/silaplace(f1) f2=1/(s+a) ilaplace(f2) f3=1/s^2 ilaplace(f3)f4=w/(s^2+w^2) ilaplace(f4)f5=1/(s*(s+2)^2*(s+3)) ilaplace(f5)ztrans(f4) f5=a^k ztrans(f5)反Z 变换 syms z a T f1=z/(z-1) iztrans(f1)f2=z/(z-exp(-a*T)) iztrans(f2) f3=T*z/(z-1)^2 iztrans(f3) f4=z/(z-a) iztrans(f4)f5=z/((z+2)^2*(z+3)) iztrans(f5)3. 控制系统模型的建立与转化传递函数模型:num=[b1,b2,…bm],den=[a1,a2,…an],nn n mm m b s a s a b s b s b den num s G ++++++==-- 121121)( 零极点增益模型:z=[z1,z2,……zm],p=[p1,p2……pn],k=[k],)())(()())(()(2121n m p s p s p s z s z s z s k s G ------=四、实验步骤1.根据参考程序,验证采样定理、拉氏变换和Z变换、控制系统模型建立的方法2.观察记录输出的结果,与理论计算结果相比较3.自行选则相应的参数,熟悉上述的各指令的运用方法五、实验数据及结果分析记录输出的数据和图表并分析六、总结实验二 基于Matlab 的离散控制系统仿真一、 实验目的1. 学习使用Matlab 的命令对控制系统进行仿真的方法2. 学习使用Matlab 中的Simulink 工具箱进行系统仿真的方法二、 实验器材x86系列兼容型计算机,Matlab 软件三、 实验原理1. 控制系统命令行仿真二阶系统闭环传递函数为22222554.025)54.02(51)54.02(5)(+⨯⨯+=⨯⨯++⨯⨯+=s s s ss s s G ,请转换为离散系统脉冲传递函数并仿真,改变参数,观察不同的系统的仿真结果。
计算机仿真实验报告 MATLAB

注:以下所有程序均在MATLAB7.0下运行通过。
实验一MATLAB语言编程一、实验目的:熟悉MATLAB语言及其环境,掌握编程方法。
要求认真听取实验指导老师讲解与演示。
二、具体实验内容、步骤、要求:1.运行交互式学习软件,学习MATLAB语言2.在MATLAB的命令窗口下键入如下命令:INTRO(注意:intro为一个用MATLAB语言编写的幻灯片程序,主要演示常用的MATLAB语句运行的结果。
)然后,根据显示出来的幻灯片右图按钮进行操作,可按START→NEXT→NEXT按钮一步步运行,观察。
3.自编程序并完成上机编辑,调试,运行,存盘:(1)、用MATLAB命令完成矩阵的各种运算。
例如:求出下列运算结果,并上机验证。
(1)A(:,1) %取矩阵A的第一列元素ans =11213141(2)A(2,:) %取矩阵A的第二行元素ans =21 22 23 24(3)A(1:2,2:3) %取矩阵A第一二行第二三列的元素ans =12 1322 23(4)A(2:3,2:3) %取矩阵A第二三行第二三列的元素ans =22 2332 33(5)A(:,1:2) %取矩阵A第一列与第二列元素ans =11 1221 2231 3241 42(6)A(2:3) %取矩阵A第二行与第三行的首列元素ans =21 31(7)A(:) %将矩阵A的所有元素按一列排列ans =11213141122232421323334314243444(8)A(:,:) %显示矩阵Aans =11 12 13 1421 22 23 2431 32 33 3441 42 43 44(9)ones(2,2) %建立一个两行两列的全1矩阵ans =1 11 1(10)eye(2) %建立一个二维的单位矩阵ans =1 00 1(2)、绘制数学函数的图形:例如:,理解数组运算与矩阵运算的功能。
MATLAB程序如下:t=0:0.1:8; %建立向量ty=1-2*exp(-t.*sin(t)); %计算向量t的函数向量yplot(t,y); %利用plot命令绘图xlabel('t');ylabel('y=1-2*e^(-t*sin(t))'); %注释横坐标与纵坐标图1.1 所对应的函数图像4.理解函数文件与命令文件的区别,并自编函数文件并调用。
MATLAB仿真实例(计算机仿真研究的步骤)

(1.1)
这是一个二阶常微分方程,为了后续步骤的需要,将它转换成状态方 程及输出方程
0 1 x k x 2 m 1 x1 0 f 1 r x m 2 m
当m1k4时分析系统在外力rt1t的作用下要使响应不发生振荡应在什么范围内取值其中f的取值约束为10建立系统的数学模型描述该系统输入输出关系的数学模型为11这是一个二阶常微分方程为了后续步骤的需要将它转换成状态方程及输出方程数学模型转换成仿真模型采用数值积分法中的欧拉公式可以得到离散状态方程及输出方编程和调试采用matlab语言进行编程文件名为exam20001m
【例 2.2】 利用 Simulink 对【例 2.1】中的质量-弹簧-阻尼器系统进 行仿真研究。 【解】 首先将描述该系统输入—输出关系的数学模型改写成传递 函数形式
G (s) Y (s) 1 2 R ( s ) ms fs k
(1.6)
从 Simulink 模块库的信号源子库(Sources)中,选择 Step 模块, 拖 入模型窗口,双击该模块,设置参数 Step time 为:0;从 Simulink 模 块库的连续模块子库(Continuous)中,选择 Tranfer Fcn 模块,拖入 模型窗口, 双击该模块,设置参数 Numerator 为:[1], Denominator [1 f 4] ; 为: 从 Simulink 模块库的接收器子库 (Sinks) 中, 选择 Scope 模块,拖入模型窗口。
% 置状态变量初值,其中 x(i)代表 xi(0) % Y 为 N×1 阵,记录输出 y,初始时为 1×1 阵,
% H 为 N×1 阵,记录时间 t,初始时为 1×1 阵 xs=x+(A*x+B)*T; % 计算离散状态方程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图 7
在 MATLAB 的指令窗中运行指令 >> f=5 然后点击模型窗中“仿真启动”图标►,仿真开始。 经过短暂的仿真过程后,双击 Scope 模块,可以看到类似于图 8 的响 应曲线。 (注意符号 的作用! )
图 8 同样取 f=2.5, f=7.5, 和 f=4 进行三次试验, 分别得到三条响应曲线。
fy ky r y 描述该系统输入—输出关系的数学模型为 m
(1.1)
这是一个二阶常微分方程,为了后续步骤的需要,将它转换成状态方 程及输出方程
0 1 x k x 2 m 1 x1 0 f 1 r x m 2 m
% 置状态变量初值,其中 x(i)代表 xi(0) % Y 为 N×1 阵,记录输出 y,初始时为 1×1 阵,
% H 为 N×1 阵,记录时间 t,初始时为 1×1 阵 xs=x+(A*x+B)*T; % 计算离散状态方程
% 计算离散输出方程 Y=[Y;y];H=[H;t]; % 记录 y 和 t 的值,这时 Y 阵
和 T 阵均增加 1 行 x=xs;
end plot(H,Y); grid; ⅴ 仿真模型的校核和验证 为了使仿真研究更加有效,比较仿真程序运行所获得的数据与实 际系统运行所观测到的数据以确认数学模型的正确性。 ⅵ 在计算机上进行仿真试验,并对仿真结果进行分析 选择试验点进行试验。 % 绘制输出曲线 % 在“坐标纸”上画小方格
(1.2)
x y [1 0] 1 x2
(1.3)
ⅲ 数学模型转换成仿真模型 采用数值积分法中的欧拉公式,可以得到离散状态方程及输出方 程
0 x1 ((n 1)T ) x1 (nT ) x (n 1)T ) x (nT ) k 2 2 m y[(n 1)T ] x1[(n 1)T ]
1 模型
不同的物理系统的信息传递关系相似, 就可以用同一个数学模型 描述。即不同的物理系统可能对应于同一个数学模型。
图1
图2 如果只考虑输入量和输出量之间的数学关系, 则两个数学模型都 是二阶常系数微分方程,是同一类数学模型。
仿真的定义:建立实际系统的模型,并在模型上进行试验的过程。 仿真是一种试验——广义试验 。
f=input('请输入阻尼系数 f:'); t=0;T=0.01; A=[0 1;-k/m -f/m]; B=[0 1/m]'; tmax=10; 的初值 x=[0,0]'; Y=0; N 为总步数 H=t; while(t<tmax) y=xs(1); t=t+T; %
ห้องสมุดไป่ตู้
置时间变量 t 和仿真步长 T 的初值 % 计算状态方程矩阵 % 置仿真总时间 tmax
2 计算机仿真研究的步骤
【例 2.1 】 考虑如图 2 所示的质量- 弹簧 -阻尼器系统。当质量系数 m=1, 弹簧刚性系数 k=4 时, 为了使系统的单位阶跃响应不发生振荡, 阻尼系数 f( 0 f 10 )应在什么范围内取值? 【解】 该问题可分为以下几步进行研究。 ⅰ 问题的描述 要求研究的问题是:当 m=1 , k=4 时,分析系统在外力 r(t)=1(t) 的作用下,要使响应不发生振荡, f 应在什么范围内取值,其中,f 的取值约束为 0 f 10 ⅱ 建立系统的数学模型
连接各模块后得到的 Simulink 模型,如图 6 所示。
图 6 设置系统的仿真参数:单击模型编辑窗口的“Simulation”菜单中的 “Configuration Parameters”命令,设置仿真的开始时间和停止时间 分别为 0 和 3。设置算法为固定步长算法“Fixed_step”并在其右端算 法编辑框中选择“ode5”即 5 阶龙格库塔算法。再把“Fixed step size” 设为 0.02 秒。 完 成 存 盘 操 作 后 的 Simulink 模 型 , 如 图 7 所 示 ( 文 件 名 : exam20002.mdl)
【例 2.2】 利用 Simulink 对【例 2.1】中的质量-弹簧-阻尼器系统进 行仿真研究。 【解】 首先将描述该系统输入—输出关系的数学模型改写成传递 函数形式
G (s) Y (s) 1 2 R ( s ) ms fs k
(1.6)
从 Simulink 模块库的信号源子库(Sources)中,选择 Step 模块, 拖 入模型窗口,双击该模块,设置参数 Step time 为:0;从 Simulink 模 块库的连续模块子库(Continuous)中,选择 Tranfer Fcn 模块,拖入 模型窗口, 双击该模块,设置参数 Numerator 为:[1], Denominator [1 f 4] ; 为: 从 Simulink 模块库的接收器子库 (Sinks) 中, 选择 Scope 模块,拖入模型窗口。
1 0 x1 (nT ) 1 r (nT )T f x2 (nT ) m m
(1.4) (1.5)
式中,T 为计算步距 。 ⅳ 编程和调试 采用 MATLAB 语言进行编程, 文件名为 exam20001.m。 程序如下: % 这是例 1.1 的仿真程序 clear; m=1;k=4; % 质量系数 m 值,弹簧刚性系数 k 值 % 从键盘输入阻尼系数 f 值
图3
f=4
图5
f=7.5
经过若干次试验后,可知:当 f<4 时,系统响应发生振荡;当 f4 时,系统响应不发生振荡。f =4 为临界值。 计算机仿真步骤 1.确定仿真目的和基本需求 给出仿真的研究对象(即系统) 。 2.建立系统的数学模型
对实际系统进行简化或抽象,用数学的形式对系统的行为、特征 等进行描述。 3.建立系统的仿真模型 将数学模型通过一定的方式转变成能在计算机上实现和运行的 模型 ,称为系统的二次建模。 4.编程并调试 编制数字仿真模型的程序,并进行调试。 5.仿真模型的校核和验证 仿真模型的校核:数字仿真模型与数学模型的一致性检验。 仿真模型的验证:数字仿真模型与实际系统的一致性检验。