MATLAB仿真作业
- 格式:doc
- 大小:2.94 MB
- 文档页数:13
MATLAB仿真院(系)专业班级姓名学号时间Matlab作业1、一个50Hz的简单电力系统如下图所示,试在Simulink中建立仿真模型研究该系统性能。
k1系统建模要求如下:(1)发电机G采用“Synchronous Machine pu Fundamental”模型,变压器T采用“Three-Phase Transformer (Two Windings)”模型,输电线路L采用“Three-Phase Series RLC Branch”模型,负荷LD1、LD2采用“Three-Phase Parelell RLC Load”模型。
(2)发电机模型参数:采用预设模型,其中学号末位数字为1的同学使用编号为01的模型参数,学号末位数字为2的同学使用编号为02的模型参数,……,学号末位数字为0的同学使用编号为10的模型参数。
(3)变压器模型采用默认参数,副边电压10kV,但需要注意与发电机模型相匹配参数的设置(原边电压、频率等),变压器容量设置为发电机额定功率的1.2倍;(4)线路参数的设置原则:忽略电容,X/R=3,线路通过发电机额定功率时首末端压降约为0.05p.u.;(5)负荷模型采用默认参数,但需要注意与整个系统模型相匹配参数的设置(电压、频率等),负荷LD1容量设置为发电机额定功率的5%,LD2容量为发电机额定功率的30%,功率因数0.95。
(6)其他模块(如短路模拟、测量、示波、powergui等)的使用根据研究要求自行确定。
性能研究要求:(1)利用powergui计算该系统的稳态潮流情况;(2)利用powergui将系统设置为零初始状态,仿真系统达到稳态的过程;(3)利用powergui将系统设置为稳态,仿真k点发生三相短路、持续0.15秒后切除的系统过渡过程,要求输出短路电流的波形。
作业形式要求:(1)根据题目要求进行理论分析,计算出发电机稳态时转速,短路电流周期分量以及冲击电流的大小。
Matlab电气仿真实验指导老师:学生姓名:爸爸专业班级:电气工程及其自动化1班学号:222012!!!!本课程设计的目的:1、掌握Matlab/Simulink中SimPowerSystems 工具箱的基本建模方法;2、掌握Matlab/Simulink 电气仿真的基本步骤;3、利用Matlab/Simulink 在基本电路与磁路、电力电子技术、电气传动等方面的仿真设计。
实验一设计任务:单相桥式整流加LC滤波电路,电源为220V,50Hz,整流电路输入为24V,负载为10Ω阻性负载,滤波电感L=100mH,滤波电容C=200uF。
实验步骤:在matlab/simulink中选取相应的器件,如图连接运行。
注意事项:将全部示波器scope中的“limit data point to the last”选项应该去掉。
参数设置:交流电压源幅值:220*sqrt(2),频率:50HZ。
变压器参数,容量S=200V A,变比k=220V/24V。
电感:100mH;电容:200uF;电阻:10欧。
实验结果:二极管Diode3电流电压曲线第一个图显示的为二极管电流I ,第二个图显示为二极管电压U 。
当diode3导通时其电压接近为0V (管压降为0.7V ),其电流有值;当diode3关断时,其电流值为0A ,此时功率二极管承受反向电压,承受的最大反向电压幅值为24*sqrt (2)=33.94V 。
而电流图像上出现波动是因为电感L 的值不是无穷大,会受频率电压幅值的影响,所以如图所示。
二极管Diode4电压电流曲线结论分析:第一个图显示的为二极管电流I ,第二个图显示为二极管电压U 。
当diode3导通时其电压接近为0V (管压降为0.7V ),其电流有值;当diode3关断时,其电流值为0A ,此时功率二极管承受反向电压,承受的最大反向电压幅值为24*sqrt (2)=33.94V 。
而电流图像上出现波动是因为电感L 的值不是无穷大,会受频率电压幅值的影响,所以如图所示。
matlab电磁场仿真作业一、介绍本文将介绍matlab电磁场仿真作业的相关知识和技巧。
电磁场仿真是指利用计算机模拟电磁场的分布和变化规律,以实现对电磁场问题的分析和解决。
matlab是一种强大的数学软件,可以用于各种科学计算、数据分析和图形处理等工作。
在电磁场仿真中,matlab具有良好的适用性和灵活性,可以方便地进行数据处理、可视化和模拟等操作。
二、基本概念1. 电磁场电磁场是指由带电粒子或导体所产生的物理现象,包括静电场、磁场和电磁波等。
在空间中,任何带有电荷或运动电荷的物体都会产生相应的电磁场。
2. 仿真仿真是指利用计算机模拟某个系统或过程的行为方式和结果。
在电磁场仿真中,可以通过建立数学模型来描述物理系统,并利用计算机进行计算和可视化。
3. 离散化离散化是指将连续变量转换为离散变量的过程。
在matlab中进行离散化操作可以将连续的电磁场分布转换为离散的数据点,以便进行计算和可视化。
三、matlab电磁场仿真的步骤1. 建立模型在进行电磁场仿真前,需要建立合适的模型来描述物理系统。
模型应该包括几何形状、物理特性和边界条件等信息。
可以使用matlab中的几何建模工具来创建三维模型,并定义相应的物理参数。
2. 离散化将连续的电磁场分布离散化为数据点。
可以使用matlab中的网格生成工具来生成离散化网格,并对网格进行调整以满足精度和计算效率要求。
3. 求解方程根据物理特性和边界条件,建立相应的方程组并求解。
常用的求解方法包括有限元法、有限差分法和边界元法等。
在matlab中,可以利用数值计算工具箱提供的函数来求解方程组。
4. 可视化将结果可视化以便于分析和展示。
可以使用matlab中强大的图形处理工具来生成二维或三维图像,并添加必要的标注和注释。
四、实例演示以下是一个简单的电磁场仿真实例,演示了如何在matlab中进行电磁场仿真。
1. 建立模型假设有一个长方体导体,其底面和侧面都被接地,导体顶部施加了一个电势差为V的电源。
1、用信号发生器发生幅值为1,频率为2Hz 的正弦波信号,分别按1倍和5倍送入两个示波器。
9.59.559.69.659.79.759.89.859.99.9510-1-0.8-0.6-0.4-0.200.20.40.60.81t9.59.559.69.659.79.759.89.859.99.9510-5-4-3-2-112345t2、直流电动机双闭环调速系统如图所示0.210.15s+1Transfer Fcn80.10.01s+1Transfer Fcn70.15s+10.051s Transfer Fcn6700.0067s+1Transfer Fcn50.00440.01s+1Transfer Fcn4130s Transfer Fcn30.10.01s+1Transfer Fcn21.5s+10.085s Transfer Fcn10.10.01s+1Transfer FcnStepScope-K-Gain1、(1)建立系统的Simulink 的模型,并进行仿真,用示波器观察系统的阶跃响应曲线。
(2)调整转速调节器的参数,观察其系统的阶跃响应曲线并进行比较0.17α=12345678910510152025303540t直接控制效果0.5α=012345678910510152025303540ta 等于1的调整参数控制效果1.0α=012345678910510152025303540ta 等于1的调整效果1.5α=12345678910510152025303540ta 等于1.5的调整效果3、分别用m 文件和Simulink 求解VanderPol 方程:2(1)0x x x x ⋅⋅+-+=取状态变量12x x x x ==,自己设置初始条件和仿真时间,打印状态响应曲线和相平面图-2.5-2-1.5-1-0.500.51 1.52 2.5-3-2-1123x1x 2相平面图(编程实现)02468101214161820-3-2-1123tx响应曲线(编程实现)M 文件function xdot=vdpol(t,x) xdot(1,1)=x(2);xdot(2,1)=x(2)*(1-x(1)^2)-x(1); EndCommand Window>> [t,x]=ode45('vdpol',0,20,[0 0.25],1e-6); >> plot(x(:,1),x(:,2))>> plot(t,x(:,1),'b-',t,x(:,2),'r-')XY GraphScopeProduct1Product1s Integrator11sIntegrator02468101214161820-3-2-1123tx响应曲线(simulink 仿真)-2.5-2-1.5-1-0.500.51 1.52 2.5-3-2-1123x1x 2相平面图(simulink 仿真)1、考虑如下系统:()221002011401111x x u y x--⎛⎫⎛⎫ ⎪ ⎪=-+ ⎪ ⎪⎪ ⎪-⎝⎭⎝⎭=-试判断系统的能控能观性。
MATLAB 与控制系统仿真练习题(含图)1、已知函数x x e x f x sin cos )(-=,作出函数的大致图像。
>> syms x>> y=exp(x)*cos(x)-sin(x); >> ezplot(y)2、求下列极限:(1)30sin lim xx x x -→ >> syms x>> y=(x-sin(x))/(x^3);>> limit(y,x,0)ans =1/6(2) xx x ⎪⎭⎫ ⎝⎛+∞→11lim >> y=(1+1/x)^x;>> limit(y,x,inf)ans =exp(1)3、求下列函数的导数:(1)x e y x sin =>> syms x>> y=exp(x)*sin(x);>> diff(y,x)ans =exp(x)*sin(x)+exp(x)*cos(x)(2) x e x x y 22sin +=>> syms x>> y=sin(x)+x^2*exp(2*x);>> diff(y,x)ans =cos(x)+2*x*exp(2*x)+2*x^2*exp(2*x)4、求.)1(532⎰-dx x x 和.sin ⎰xdx e x(1).)1(532⎰-dx x xsyms x>> int(x^2*(1-x^3)^5)ans =-1/18*x^18+1/3*x^15-5/6*x^12+10/9*x^9-5/6*x^6+1/3*x^3(2).sin ⎰xdx e x>> int(exp(x)*sin(x))ans =-1/2*exp(x)*cos(x)+1/2*exp(x)*sin(x)5、求.)(102⎰-dx x x 和.1102⎰-dx x x (1) .)(102⎰-dx x x>> syms x>> int(x-x^2,0,1)ans =1/6(2) .1102⎰-dx x x>> syms x>> int(x*(1-x^2)^0.5,0,1)ans =1/36、已知二元函数),(cos )sin(2xy xy z +=试求y x z x z y z x z ∂∂∂∂∂∂∂∂∂222,,,。
作业1: 在同一张图上绘制3个传递函数的单位阶跃响应222)(21++=s s s G ,2224)(22+++=s s s s G ,133224)(233++++=s s s s s G ;程序如下:clear all num=1 den=[1 2 2] G1=tf(num,den) hold on step(G1) gtext('G1'); num1=[4 2] den1=[1 2 2]G2=tf(num1,den1) step(G2) gtext('G2') num1=[4 2] den1=[2 3 3 1] G3=tf(num1,den1) step(G3) gtext('G3') 运行结果:作业2:建立二阶系统的仿真模型输入信号源使用阶跃信号,系统使用开环传递函数s6.0s12,接受模块使用示波器来构成模型。
Simulink 仿真模型:启动仿真后,在MATLAB 命令窗口输入”whos ”,则显示如下:示波器显示的响应曲线:作业3控制系统如图所示,其中Go (s )为三阶对象模型:)5)(2)(1(1)(+++=s s s s Go ,H (s )为单位反馈,对系统采用比例控制,比例系数分别为Kp=0.1,2.0,2.4,3.0,3.5, 试求各比例系数下系统的单位阶跃响应,并绘制曲线。
程序如下:G=tf(1,conv(conv([1,1],[2,1]),[5,1])) kp=[0.1,2.0,2.4,3.0,3.5] for i=1:5G=feedback(kp(i)*G,1)step(G)hold onendgtext('kp=0.1')gtext('kp=2.0')gtext('kp=2.4')gtext('kp=3.0')gtext('kp=3.5')运行结果得到的响应曲线:作业4设非线性控制系统如下图所示,其中5)(1=s G ,15.01)(2+=s s G ,ss G 1)(3=,非线性环节N 为死区非线性,其表达式为:⎪⎩⎪⎨⎧>-≤-<+=2,22||,02,2x x x x x y试用Simulink 分析系统单位阶跃响应,并绘制曲线。
matlab模拟试题及答案MATLAB模拟试题及答案1. 编写一个MATLAB函数,计算并返回一个向量中所有元素的和。
```matlabfunction sumVector = sumVectorElements(vector)sumVector = sum(vector);end```2. 给定一个矩阵A,编写一个MATLAB脚本,找出矩阵中的最大元素及其位置。
```matlabA = [1, 2, 3; 4, 5, 6; 7, 8, 9];[maxValue, maxIndex] = max(A(:));[maxRow, maxCol] = ind2sub(size(A), maxIndex);disp(['最大元素为: ', num2str(maxValue), ',位于第',num2str(maxRow), '行,第', num2str(maxCol), '列。
']);```3. 编写一个MATLAB函数,实现一个向量元素的排序。
```matlabfunction sortedVector = sortVector(vector)sortedVector = sort(vector);end4. 给定两个向量X和Y,编写一个MATLAB脚本,计算这两个向量的点积。
```matlabX = [1, 2, 3];Y = [4, 5, 6];dotProduct = dot(X, Y);disp(['X和Y的点积为: ', num2str(dotProduct)]);```5. 编写一个MATLAB函数,计算一个矩阵的行列式。
```matlabfunction determinant = calculateDeterminant(matrix)determinant = det(matrix);end```6. 给定一个向量,编写一个MATLAB脚本,找出向量中的最大值和最小值。
[4.1]控制系统结构如图4.1所示(1)利用MATLAB对以上单位负反馈控制系统建立传递函数;(2)将第一问中求得的传递函数模型转化为零极点增益形式和状态空间形式。
解:(1)num=[2 2];den=[1 2 1];[num1,den1]=cloop(num,den);sys=tf(num1,den1)程序运行结果如下:Transfer function:2 s + 2-------------s^2 + 4 s + 3(2)[z,p,k]=tf2zp(num1,den1);g_zpk=zpk(z,p,k);[A,B,C,D]=zp2ss(z,p,k);g_ss=ss(A,B,C,D)程序运行结果如下:z = -1 p = -3 -1 k = 2a = x1 x2x1 -4 -1.732x2 1.732 0b = u1x1 1x2 0c = x1 x2y1 2 1.155d = u1y1 0K[5.1]设单位负反馈控制系统的开环传递函数为G(S)=+s(s^2+7s17)(1)试绘制k=10、100时闭环系统的阶跃响应曲线,并计算稳态误差、上升时间、超调量和过渡过程时间;(2)绘制k=1000时闭环系统的阶跃响应曲线,与k=10、100时所得的结果相比较,分析增益系数与系统稳定性的关系;解:(1)k=10时,K=100时,K=10时,利用MA TLAB工作区输入程序:num=[10];den=[1,7,17,0];[z,p,k]=tf2zp( num,den);运行得z,p,k的值p= -3.5+2.1794*i -3.5-2.1794*i k=10G=zpk([ ],[-3.5+2.1794*i,-3.5-2.1794*i],10);c=dcgain(G);[y,t]=step(G);plot(t,y)[Y,K]=max(y);timetopeak=t(k);percentovershoot=100*(y-c)/cn=1;while y(n)<c n=n+1;end risetime=t(n) i=length(t);while(y(i)>0.98*c&y(i)<1.02*c) i=i-1;End setllingtime=t(i) 运行程序结果为:稳定值c=0.5882,响应时间setllingtime=1.0096s,上升时间risetime=1.1989s,最大峰值时间timetopeak=1.4356,超调量percentovershoot=0.555% 同理得k=100时,稳定值c=5.882,响应时间setllingtime=1.0096s, 上升时间risetime=1.1989s,最大峰值时间timetopeak=1.4356,超调量percentovershoot=0.555%(3)k=1000时,由其响应曲线可知,增益系数越大,其稳定性越差。
matlab仿真实例100题Matlab是一种强大的数学软件,广泛应用于科学计算、数据分析和工程仿真等领域。
在学习和使用Matlab的过程中,通过实例的方式进行仿真练习是一种非常有效的学习方法。
下面将给出100个Matlab仿真实例题目,帮助读者更好地掌握Matlab的使用。
1. 编写一个程序,计算并输出1到100之间所有奇数的和。
2. 编写一个程序,计算并输出1到100之间所有偶数的乘积。
3. 编写一个程序,计算并输出1到100之间所有素数的个数。
4. 编写一个程序,计算并输出1到100之间所有整数的平方和。
5. 编写一个程序,计算并输出1到100之间所有整数的立方和。
6. 编写一个程序,计算并输出1到100之间所有整数的阶乘和。
7. 编写一个程序,计算并输出1到100之间所有整数的倒数和。
8. 编写一个程序,计算并输出1到100之间所有整数的平均值。
9. 编写一个程序,计算并输出1到100之间所有整数的中位数。
10. 编写一个程序,计算并输出1到100之间所有整数的标准差。
11. 编写一个程序,计算并输出1到100之间所有整数的方差。
12. 编写一个程序,计算并输出1到100之间所有整数的最大值。
13. 编写一个程序,计算并输出1到100之间所有整数的最小值。
15. 编写一个程序,计算并输出1到100之间所有整数的平方根和。
16. 编写一个程序,计算并输出1到100之间所有整数的立方根和。
17. 编写一个程序,计算并输出1到100之间所有整数的对数和。
18. 编写一个程序,计算并输出1到100之间所有整数的指数和。
19. 编写一个程序,计算并输出1到100之间所有整数的正弦和。
20. 编写一个程序,计算并输出1到100之间所有整数的余弦和。
21. 编写一个程序,计算并输出1到100之间所有整数的正切和。
22. 编写一个程序,计算并输出1到100之间所有整数的双曲正弦和。
23. 编写一个程序,计算并输出1到100之间所有整数的双曲余弦和。
仿真作业
作业一
1.请指出如下5个变量名中,哪些是合法的?
abcd-2 xyz_3 3chan a变量ABCDefgh
答:xyz_3 ABCDefgh是合法的
设 a = -8 , 运行以下三条指令,问运行结果相同吗?为什么?
w1=a^(2/3)
w2=(a^2)^(1/3)
w3=(a^(1/3))^2
答:不相同,在MATLAB中运行结果如下:
w1和w3的运行结果相同,而w2不同。
第2条指令先将 -8 平方,所得结果为正数,然后开方
2.指令clear, clf, clc各有什么用处?
答:clear :清除原有变量
clc :清楚命令窗口的内容
Clf:用来清除图形的命令,一般在画图之前用。
3. 想要在MA TLAB 中产生二维数组⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡=987654321S ,下面哪些指令能实现目的? S=[1,2,3;4,5,6;7,8;9]
S=[1 2 3;4 5 6;7 8 9]
S=[1,2,3;4,5,6;7,8,9] %整个指令在中文状态下输入
答:S=[1 2 3;4 5 6;7 8 9]能实现,MATLAB 里面的标点都必须在英文状态。
作业二
1、在图所示的系统中,已知质量1=m kg ,阻尼2=b N.sec/m ,弹簧系数100=k N/m ,且质量块的初始位移05.0)0(=x m ,其初始速度0)0(='x m/sec ,要求创建该系统的SIMULINK 模型,并进行仿真运行。
据物理定理建立微分方程,并以此微分方程创建SIMULINK 模型的完整步骤:微分方程的整理;模块的复制;信号线的构画;模块参数设置;示波器的调整;仿真参数设置。
弹簧—质量—阻尼系统
提示:建立微分方程:'''2100x x x =--
答:仿真时间10s ,计算方法ode45
2、对于图所示的多环控制系统,(1)求系统传递函数)
()
()(s U s Y s G ;(2)求该系统的单位阶跃响应。
作业三
1、仿真下图
2、仿真下图
作业四
1、已知单位负反馈的二阶系统,其开环传统函数()(1)
k
G s s Ts =
+,其中T=1,试绘制k
分别为0.1,0.2,0.5,0.8,1.0,2.4时,其单位负反馈系统的单位阶跃响应曲线(绘制在同一张图上)
2、绘制正反馈的根轨迹。
已知单位负反馈的二阶系统,其开环传统函数
2(2)
(),0(3)(22)
k s G s k s s s +=
<+++,试使用matlab 绘出系统的根轨迹。
作业五
1、 已知某系统的闭环传统函数2
2.5(6)
()(23)(5)
s G s s s s +=
+++,试使用matlab 绘出系统的零
极点,并求出系统的零极点。
2、 已知单位负反馈控制系统,其开环传统函数25()(10)
s G s s s +=+,求单位阶跃响应。
作业六
1、已知某系统的开环传统函数
100(5)
()
(2)(8)(20)
s
G s
s s s
+
=
+++
,试使用matlab 绘出系统nyquist
曲线,并判断系统的稳定性。
根据奈氏判据:当系统开环传递函数G(s)H(s)的全部极点都位于S平面左半部是,如果系统的奈氏曲线不包围GH平面的(-1,j0)点(N=0),则闭环系统的是稳定的。
从图中可以判断出,该系统是稳定的。
2、已知某系统的闭环传统函数
5(0.01671)
()
(0.031)(0.00251)(0.0011)
s
G s
s s s s
+
=
+++
,试使用matlab 绘
出系统的bode图。