- function sysfunction2image
- %Accomplished by Sqliu,2011-6-6
- clear;
- clc;
- clf;
- close all;
- D=[0.02 0.1 0.2 0.707 1.5];
- n1=1;
- b=[0 1 0]; %分子
- %位移,速度,加速度==> b=[1 0 0]; b=[0 1 0]; b=[0 0 1];
- for i=1:1:length(D)
- D1=D(i);
- %D1=0.707;
- %D1=e1/n1;
- e1=2*n1*D1;
- a=[1 e1 n1]; %分母
- sys=tf(b,a);
- pzmap(sys); %绘制零、极点
- [mag,phase,w]=bode(b,a,{0.01 100}); %计算幅频特性和相频特性
- N=length(mag);
- mags(1:N,i)=20*log10(mag(1:N));
- phases(1:N,i)=phase(1:N);
- W(1:N,i)=w(1:N);
- end
- figure('color','w','position',[60 60 700 600]);
- subplot(211);
- semilogx(W(:,1),(mags(:,1)),'r','LineWidth',2);
- hold on
- semilogx(W(:,2),(mags(:,2)),'b','LineWidth',2);
- semilogx(W(:,3),(mags(:,3)),'c','LineWidth',2);
- semilogx(W(:,4),(mags(:,4)),'m','LineWidth',2);
- semilogx(W(:,5),(mags(:,5)),'k','LineWidth',2);
- grid on
- xlabel('角频率/(rad/s)');
- ylabel('幅度/dB');
- legend('D=0.02','D=0.1','D=0.2','D=0.707','D=1.5','Location','NorthEastOutside')
- axis tight;
- subplot(212);
- semilogx(W(:,1),(phases(:,1)),'r','LineWidth',2);
- hold on
- semilogx(W(:,2),(phases(:,2)),'b','LineWidth',2);
- semilogx(W(:,3),(phases(:,3)),'c','LineWidth',2);
- semilogx(W(:,4),(phases(:,4)),'m','LineWidth',2);
- semilogx(W(:,5),(phases(:,5)),'k','LineWidth',2);
- ylabel('相位(deg)');
- xlabel('角频率(rad/sec)');
- grid on
- axis tight;
- legend('D=0.02','D=0.1','D=0.2','D=0.707','D=1.5','Location','NorthEastOutside')
- %figure;
- %bode(b,a);
- %系统特性:|H(w)|=H0*|jw-z1|*|jw-z2|*...*|jw-zm|/(|jw-s1|*|jw-s2|*...*|jw-sp|)
- %phi(w)=arg(jw-z1)+arg(jw-z2)+...+arg(jw-zm)-arg(jw-s1)-arg(jw-s2)-...-arg(
- %jw-sp)
- %其中m为零点个数,p为极点个数。
复制代码
问题基本解决,供参考! |