⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 e.m

📁 系统响应的MATLAB分析程序 内附多个源代码
💻 M
字号:
close
clc
clear all
syms x t;

A=0;
B=3;
C=2;
w=-3;
Am=4;
taxis=6;
i1=3;%y(0)
i2=4;%Dy(0)
xt1=Am*exp(w*t);

f0='A*D2y+B*Dy+C*y=0';
f0=subs(sym(f0));
f0=char(f0);
ini1='y(0)=i1';
ini1=subs(sym(ini1));
ini1=char(ini1);
ini2='Dy(0)=i2';
ini2=subs(sym(ini2));
ini2=char(ini2);
if i2~=0&A~=0
yzi=dsolve(f0,ini1,ini2);
else
    yzi=dsolve(f0,ini1);
end

yzi=subs(yzi)

yy=A*x^2+B*x+C;
x=solve(yy);
n=size(x,1);
if n==2
  if x(1)~=x(2)& (w==x(1)|w==x(2))
    yf1='k*t*xt1';
   else if x(1)==x(2)&w==x(1)
         yf1='k*t^2*xt1';
         else yf1='k*xt1';
         end
     end
 else if n==1&w==x
       yf1='k*t*xt1';
   else yf1='k*xt1';         
 end
end

funca=sym(yf1);
funca=subs(funca);
y1=A*diff(funca,'t',2)+B*diff(funca,'t',1)+C*funca;
b='y1=xt1';
b=subs(sym(b));
b=char(b);
k=solve(b,'k');
yf=subs(funca)


f='A*D2y+B*Dy+C*y=xt1';
f=subs(sym(f));
f=char(f);
ini1='y(0)=i1';
ini1=subs(sym(ini1));
ini1=char(ini1);
ini2='Dy(0)=i2';
ini2=subs(sym(ini2));
ini2=char(ini2);
if A~=0
y=dsolve(f,ini1,ini2)
else y=dsolve(f,ini1)
end 

yn=y-yf


yzs=y-yzi


figure
t=0:0.01:8;
y=subs(y);subplot(2,3,1)
plot(t,y);
title('全响应')
subplot(2,3,2)
yf=subs(yf);
plot(t,yf);
title('受迫响应')
subplot(2,3,3)
yn=subs(yn);
plot(t,yn);
title('自然响应')
subplot(2,3,4)
yzi=subs(yzi);
plot(t,yzi);
title('零输入响应')
subplot(2,3,5)
yzs=subs(yzs);
plot(t,yzs);
title('零状态响应')

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -