MATLAB程序出错求助
先输入closeall;clear;m=1000;b=50;num=[1];den=[mb];disp('原系统传函为:')sys=tf(num,den);printsy...
先输入
close all;
clear;
m=1000;
b=50;
num=[1];
den=[m b];
disp('原系统传函为:' )
sys=tf(num,den);
printsys(num,den);
t=0:0.01:120;
%step(sys,t);
step(10*num,den,t);
axis([0 120 0 0.2]);
title( 'System Step Response before CORRECTION');
xlabel('Time-sec');
ylabel('Response-value');
grid;
text(45,0.17,'原系统')
程序可以运行。然后输入
hold on;
Kp=700;
Ki=100;
Kd=100;
num=[Kd Kp Kd];
den=[m+Kd b+Kp Ki];
disp( 'PID校正后的闭环传函为:')
printsys(num,den);
t=0:0.01:50;
step(u*num,den,t);
axis([0 11 0 50]);
title( 'Syetem Step Response after PID CRRECTION' );
xlabel( 'Time-sec' );
ylabel( 'Response-value' );
grid on;
text(25,9.5, ‘Kp=700 Ki=100 Kd=100’ );
Maxpid=max(c);
Disp( 'PID的超调量为:')
Mppid=(Maxpid-10)/10
系统弹出
num/den =
100 s^2 + 700 s + 100
----------------------
1100 s^2 + 750 s + 100
??? Undefined function or variable 'c'.
再把Maxpid=max(c); 删掉再试,然后弹出
??? Undefined function or variable 'Disp'.
我知道因为我“Disp和c”没定义!
求大神,求帮助。这个“Disp和c”要如何定义
还有这个程序哪里还有错误
u改成10,这里忘改了 展开
close all;
clear;
m=1000;
b=50;
num=[1];
den=[m b];
disp('原系统传函为:' )
sys=tf(num,den);
printsys(num,den);
t=0:0.01:120;
%step(sys,t);
step(10*num,den,t);
axis([0 120 0 0.2]);
title( 'System Step Response before CORRECTION');
xlabel('Time-sec');
ylabel('Response-value');
grid;
text(45,0.17,'原系统')
程序可以运行。然后输入
hold on;
Kp=700;
Ki=100;
Kd=100;
num=[Kd Kp Kd];
den=[m+Kd b+Kp Ki];
disp( 'PID校正后的闭环传函为:')
printsys(num,den);
t=0:0.01:50;
step(u*num,den,t);
axis([0 11 0 50]);
title( 'Syetem Step Response after PID CRRECTION' );
xlabel( 'Time-sec' );
ylabel( 'Response-value' );
grid on;
text(25,9.5, ‘Kp=700 Ki=100 Kd=100’ );
Maxpid=max(c);
Disp( 'PID的超调量为:')
Mppid=(Maxpid-10)/10
系统弹出
num/den =
100 s^2 + 700 s + 100
----------------------
1100 s^2 + 750 s + 100
??? Undefined function or variable 'c'.
再把Maxpid=max(c); 删掉再试,然后弹出
??? Undefined function or variable 'Disp'.
我知道因为我“Disp和c”没定义!
求大神,求帮助。这个“Disp和c”要如何定义
还有这个程序哪里还有错误
u改成10,这里忘改了 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询