系统仿真综合实验报告

2026/1/27 7:15:34

rankD = 4

polyD =

1.0000 -2.0000 -32.0000 532.0000 595.0000

normD =

16.6958

小结:det、rank、poly、norm分别求出矩阵的行列式、秩、特征多项式以及范数

5 求解下面的线性代数方程,并验证得出的解真正满足原方程。

21?2?3213??7?4??1?90??9153?2??7??7??64?21?2?X???, (b)??X??? (a)???2?2115???1??9153?2??117?????????3213??1?0???2?2115???2?1?答案:

(a).

程序:

A=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13]; B=[4;7;-1;0]; X=inv(A)*B

结果: X =

0.4979 0.1445 0.0629 -0.0813 (b)

A=[1 3 2 13;7 2 1 -2;7 15 3 -2; -2 -2 11 5]; B=[9 0;6 4;11 7;-2 -1]; X=inv(A)*B

结果

X =

0.9247 0.4695 0.4140 0.2186 -0.1907 0.0791

0.5550 -0.0987

小结:求矩阵A*B=C,已知A,C求B,则应用逆矩阵来求解即B=(A*(-1))*C

6 假设有一组实测数据 x y 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 2.3201 2.6470 2.9707 3.2885 3.6008 3.9090 4.2147 4.5191 4.8232 5.1275 用最小二乘法拟合,求出相应的二次函数。 答案:

程序

x=0.1:0.1:1;

y=[2.3201 2.6470 2.9707 3.2885 3.6008 3.9090 4.2147 4.5191 4.8232 5.1275]; p=polyfit(x,y,2) 结果: p =

-0.1563 3.2828 1.9967

小结:polyfit是最小二乘拟合的函数,本题说明用最小二乘拟合求得的二次函数为y=-0.1563*x^2+3.2828*x+1.9967

7 考虑线性微分方程

y(4)?3y(3)?3y?4y?5y?u???输入信号u?e?3t?e?5tsin(4t??/3)

方程初值y(0)?1,y(1)(0)?y(2)(0)?1/2,y(3)?0.2,

(1) 试用Simulink搭建起系统的仿真模型,并绘制出仿真结果曲线。

(2) 将给定的微分方程转换成状态方程,并建立S函数,再利用Simulink进行仿真。 答案: (1)

参数设置:

Integrator1,2,3,4:Initial condition分别设置成0.2,0.5,0.5,1 Gain0,1,2, 3:gain 分别设置成3,3,4,5

Sine Wave: Frequency(rad/sec)设置成 4 ;phase(rad)设置成 pi/3

Transfer Fcn :Numerator coefficients设置成 [1] ; Denominator coefficients 设置成[1 5] Transfer Fcn1:Numerator coefficients设置成[1] ; Numerator coefficients设置成[1 3] Add : List of signs 设置成 ++----

仿真模型:

(2)

建立相应的S函数:

function[sys,x0,str,ts]= reds7_2 (t,x,u,flag,A,B,C,D) switch flag case 0

[sys,x0,str,ts]=mdlInitializeSizes(A,D); case 1

sys=mdlDerivatives(t,x,u,A,B); case 3

sys=mdlOutputs(t,x,u,C,D); case {2,4,9}

sys=[]; otherwise

error(['Unhandled flag=',num2str(flag)]); end

function[sys,x0,str,ts]=mdlInitializeSizes(A,D) sizes=simsizes;

sizes.NumContStates=size(A,1); sizes.NumDiscStates=0;

sizes.NumOutputs=size(A,1)+size(D,1); sizes.NumInputs=size(D,2); sizes.DirFeedthrough=1; sizes.NumSampleTimes=1; sys=simsizes(sizes); x0=[1;0.5;0.5;0.2]; str=[]; ts=[-1 0];

function sys=mdlDerivatives(t,x,u,A,B) sys=A*x+B*u;

function sys=mdlOutputs(t,x,u,C,D) sys=[C*x+D*u;x];

由此建立仿真模型

ufcnyreds7_2S-FunctionScopeClockEmbeddedMATLAB Function

仿真曲线:


系统仿真综合实验报告.doc 将本文的Word文档下载到电脑
搜索更多关于: 系统仿真综合实验报告 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219