控制系统数字仿真与CAD第三章习题11.docx
《控制系统数字仿真与CAD第三章习题11.docx》由会员分享,可在线阅读,更多相关《控制系统数字仿真与CAD第三章习题11.docx(12页珍藏版)》请在冰豆网上搜索。
![控制系统数字仿真与CAD第三章习题11.docx](https://file1.bdocx.com/fileroot1/2022-11/24/8ccdc443-3d72-4065-b3d6-ec755a12c67a/8ccdc443-3d72-4065-b3d6-ec755a12c67a1.gif)
控制系统数字仿真与CAD第三章习题11
3-1.求解下列线性方程,并进行解得验证:
(1)
(2)
由A*X=B得:
X=A\B
解:
>>a=[721-2;9153-2;-2-2115;13213]
a=
721-2
9153-2
-2-2115
13213
>>b=[47-10]'
b=
4
7
-1
0
>>x=a\b
x=
(2)解:
>>a=[57651
710872
681093
579104
12345]
a=
57651
710872
681093
579104
12345
>>b=[2496
34136
36144
35140
1560]
b=
2496
34136
36144
35140
1560
>>x=a\b
x=
3-2.进行下列计算,给出不使用for和while等循环语句的计算方法。
(1)
解:
根据等比数列求和方法,在利用matlab中的m文件,编写程序求解。
M文件为n=64;
q=2;
k=(1-q^n)/(1-q);
disp('k的值为');
disp(k);
保存文件
在matlab命令框中输入>>q1
k的值为
+019
(2)求出y=x*sin(x)在0解:
画出图形
>>x=0:
:
100;
>>y=x.*sin(x);
>>plot(x,y);
>>gridon
>>title('y=x*sin(x)')
>>xlabel('x')
>>ylabel('y')
方法1。
从图形中不难看出峰值点取决于函数sin(x),即在sin(x)为峰值时,y就得到峰值。
所以求取函数的峰值转化为求取正弦函数波峰问题。
而sin(x)在x=
+2k
(k为整数),所以求取y在上述x时刻的数值就是峰值。
在matlab命令行里键入
>>x=pi/2:
pi*2:
100;
>>y=x.*sin(x)%注意是。
*不是*%
得到结果y=
方法2.a=size(y)a=11001
b=([y(2:
1000)]>[y(1:
999)])&([y(2:
1000)]>[y(3:
1001)]);
at=find(b==1);
disp(y(at))
就可以找到最大值点
3-3.绘制下面的图形。
(1)sin(1/t),-1(2)
-1(1)解:
>>t=-1:
:
1;
>>y=sin(1./t);%注意是./不是/%
Warning:
Dividebyzero.
>>plot(t,y)
>>gridon
>>xlabel('t')
>>ylabel('y')
>>title('y=sin(1/t)')
(2)解:
>>t=-1:
:
1;
>>y=1-(cos(7.*t)).^3;%注意是.*与.^%
>>plot(t,y)
>>gridon
>>xlabel('t')
>>ylabel('y')
>>title('y=1-cos(7t)^3')
3-4.已知元件的实验数据如下,拟合这一数据,并尝试给出其特性方程。
X
Y
X
y
解:
采用最小二乘曲线拟合
>>x=:
1:
;
>>y=[];
>>p=polyfit(x,y,3);%选定曲线的阶数为3阶,阶数<5,否则曲线不光滑,有数据振荡%
>>xi=0:
:
;
>>yi=polyval(p,xi);
>>plot(x,y,xi,yi)
>>gridon
红色:
采样曲线绿色:
拟合曲线
3-5.分别使用解微分方程方法、控制工具箱、simulink求解具有如下闭环传递函数的系统的阶跃响应。
解:
(1)用解微分方程方法:
将
转化为状态方程,利用matlab语句
>>num=[10];
>>den=[18364010];
>>[ABCD]=tf2ss(num,den)
得到结果:
A=-8-36-40-10
1000
0100
0010
B=1
0
0
0
C=00010
D=0
得到状态方程
编写m文件求解微分方程组
functiondx=wffc(t,x)
u=1;%阶跃响应,输入为1%
dx=[-8*x
(1)-36*x
(2)-40*x(3)-10*x(4)+u;x
(1);x
(2);x(3)];
保存文件%注意:
保存文件的名字与函数名一致!
%
在命令行键入>>[t,x]=ode45('wffc',[0,8],[0;0;0;0]);
>>y=10*x(:
4);
>>plot(t,y);
>>grid
得到结果为下图所示:
(2)控制工具箱:
在matlab命令行中键入>>num=[10];
>>den=[18364010];
>>sys=tf(num,den);
>>step(sys);
>>grid
得到阶跃响应结果如图所示:
(3)simulink求解:
在simulink模型窗口中建立如下模型,键入该题的传递函数。
start后,观察scope中的仿真波形如下:
3-6.已知系统的闭环传递函数
,试分析该系统的稳定性。
解:
由稳定性判据:
当闭环传递函数所有极点都位于虚轴左半平面时,该系统稳定。
传递函数的特征方程为:
=0,解此方程,得到特征根,即闭环极点。
在matlab命令行里键入>>p=[13422];
>>r=roots(p)%求多项式等于零的根%
得到r=
+
-
+
-
闭环极点的实部都小于零,即都位于虚轴左半平面,所以系统稳定。
3-7.选择不同的a值,对下式描述的系统进行仿真实验。
分析不同参数与数值方法对系统性能的影响。
;
解:
3-8.某小功率随动系统动态结构如图所示,已知:
若系统输入分别为
,适用simulink分析系统的输出
分别如何
解:
(1)输入为1(t):
输出为:
(2)输入为t时:
输出为:
(3)输入为[1(t)-1]:
精心搜集整理,只为你的需要