Matlab可以用于自动控制系统的仿真,本文以一个卫星姿态角θ和输入力F之间的传递函数仿真作为例子,介绍相关Matlab语句和函数。
卫星系统姿态角θ和输入力F之间的传递函数设为H(s)=0.0002/(s^2);系统在5s时受到25N,持续时间为0.1s的脉冲激励响应;在6s时受到大小相同但方向相反的脉冲激励响应,运用Matlab对该过程进行计算,相关语句如下:
num=0.0002;
den=[2 0 0];
sys=tf(num,den); --上述这三条语句描述了系统的传递函数,num和den分别给出了系统的系数,注意一定要按阶次从高到底给出,漏项用0补全
t=0:0.01:10;
input1=[zeros(1,500) 25*ones(1,10) zeros(1,491)]; --描述了系统的阶跃输入,在5秒时受到25N,持续时间为0.1s的脉冲激励响应
output1=lsim(sys,input1,t);
output1=(pi/180)*output1; --采用lsim()函数给出任意输入的响应,参数分别是:系统的传递函数、输入、仿真时间轴;并将输出的角度转换为弧度制
<pre name="code" class="plain">subplot(2,2,1); --图像分屏显示
plot(t,input1); --绘出输入图像
subplot(2,2,2);
plot(t,output1);--绘出响应图