1、首先打开matlab软件,点击Simulink按钮打开Simulink仿真环境(需要一点时间),
2、打开Simulink后,进入主界面,
3、点击Simulink界面中的File/New/Model,建立并保存模型文件,
4、在Simulink的左侧资源栏拖拽控件到model文件内并设置连线,
5、检查系统框图无误后点击运行按钮(如下图箭头所指),大概几秒后仿真结束,
6、双击图中的示波器就可以查看系统猜源仿真输出。
扩展资料:
1,MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
2,它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
3,MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用穗蔽态于工程计算、控制设计、信号处理与通讯、图并橡像处理、信号检测、金融建模设计与分析等领域。
参考资料来源:百度百科-MATLAB
clear allg=[1 0 1 1 1 0 0 1]%基带信号
f=100 %载波频率
t=0:2*pi/99:2*pi
cp=[]sp=[]
mod=[]mod1=[]bit=[]
for n=1:length(g)
if g(n)==0
die=-ones(1,100) %Modulante
se=zeros(1,100) %
else g(n)==1
die=ones(1,100) %Modulante
se=ones(1,100)%
end
c=sin(f*t)
cp=[cp die]
mod=[mod c]
bit=[bit se]
end
bpsk=cp.*mod
subplot(2,1,1)plot(bit,'LineWidth',1.5)grid on
title('Binary Signal')
axis([0 100*length(g) -2.5 2.5])
subplot(2,1,2)plot(bpsk,'LineWidth',1.5)grid on
title('ASK modulation')
axis([0 100*length(g) -2.5 2.5])
被控对象:function dx=liuxiaomodel(t,x)a1=-1.0
a2=1.0
a3=0.0
l=0.5
j1=1.0
j2=1.0
j3=2.0
delta_1=0.5*x(2)+1.5*sign(x(2))
delta_2=0.5*x(4)+1.5*sign(x(4))
delta_3=0.5*x(6)+1.5*sign(x(6))
dx=zeros(9,1)
dx(1)=x(2)
dx(2)=1/j1*(a1*x(4)*x(6)-l*x(4)+x(7)+delta_1)
dx(3)=x(4)
dx(4)=1/j2*(a2*x(2)*x(6)-l*x(2)+x(8)+delta_2)
dx(5)=x(6)
dx(6)=1/j3*(a3*x(2)*x(4)+x(9)+delta_3)
dx(7)=0
dx(8)=0
dx(9)=0
dx=[dx(1)dx(2)dx(3)dx(4)dx(5)dx(6)dx(7)dx(8)dx(9)]
end
控制程序
clear
tic
ts=0.01
kk=1000
tt=0:ts:ts*(kk-1)
x10=0.01
x20=0.0
x30=0.01
x40=0.0
x50=0.01
x60=0.0
gamma=-500
thea_10=0.5
thea_20=0.5
thea_30=0.5
for ii=1:1:kk
xd=sin(pi*ts*(ii-1))
dxd=pi*cos(pi*ts*(ii-1))
ddxd=-1*pi*pi*sin(pi*ts*(ii-1))
e10=x10-xd
de10=x20-dxd
q10=dxd-15*e10
dq10=ddxd-15*de10
s10=de10+15*e10
e30=x30-xd
de30=x40-dxd
q30=dxd-15*e30
dq30=ddxd-15*de30
s30=de30+15*e30
e50=x50-xd
de50=x60-dxd
q50=dxd-15*e50
dq50=ddxd-15*de50
s50=de50+15*e50
thea1p=thea_10+gamma*dq10*s10*ts
thea2p=thea_20+gamma*dq30*s30*ts
thea3p=thea_30+gamma*dq50*s50*ts
% x70=thea1p*dq10+x40*x60+0.5*x40-15*s10-2.01*sign(s10)
% x80=thea2p*dq30-x20*x60+0.5*x20-15*s30-2.01*sign(s30)
% x90=thea3p*dq50+x20*x40-15*s50-2.01*sign(s50)
x70=dq10+x40*x60+0.5*x40-15*s10-2.01*sign(s10)
x80=dq30+x20*x60+0.5*x20-15*s30-2.01*sign(s30)
x90=dq50+x20*x40-15*s50-2.01*sign(s50)
[t,x]=ode45('liuxiaomodel',[(ii-1)*ts,ii*ts],[x10x20x30x40x50x60x70x80x90])
[m,n]=size(x)
x10=x(m,1)
x20=x(m,2)
x30=x(m,2)
x40=x(m,2)
x50=x(m,2)
x60=x(m,2)
% thea_10=thea1p
% thea_20=thea2p
% thea_30=thea3p
out1(ii)=x10
out2(ii)=x20
out3(ii)=x30
out4(ii)=x40
out5(ii)=x50
out6(ii)=x60
out7(ii)=x70
out8(ii)=thea1p
end
figure(1),plot(tt,out1),grid
figure(2),plot(tt,out3),grid
figure(3),plot(tt,out5),grid
figure(4),plot(tt,out7),grid
figure(5),plot(tt,out8),grid
toc
采用注释部分没有运行结果,如同进入死循环为何?求教!!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)