gusucode.com > matlab通信工程仿真源码(张德丰等编著)程序书籍 > matlab_code/matlab通信工程仿真源码(张德丰等编著)/第5章/li5_5.m
dt=0.0001; %仿真步进 T=15; %仿真时间长度 t=0:dt:T;%仿真计算时间序列 g=9.8; L=1.5; m=10; k=3; %空气阻力比例系数 th0=3.1; %初始摆角设置 v0=0; %初始摆速设置 v=zeros(size(t)); %程序存储变量预先初始化,可提高执行速度 th=zeros(size(t)); v(1)=v0; th(1)=th0; for i=1:length(t) %仿真求解开始 v(i+1)=v(i)+(g*sin(th(i))-k./m.*v(i)).*dt; th(i+1)=th(i)-1./L.*v(i).*dt; end %使用双坐标系统来作图,注意作图和图标标注的技巧 [AX,B1,B2]=plotyy(t,v(1:length(t)),t,th(1:length(t)),'plot'); set(B1,'LineStyle','--'); %设置图线型 set(B2,'LineStyle','p'); set(get(AX(1),'Ylabel'),'String','线速度v(t)m/s');%作标注 set(get(AX(2),'Ylabel'),'String','角位移\th(t)/rad'); xlabel('时间t/s'); legend(B1,'线速度v(t)',2); legend(B2,'角位移\th(t)',1);