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,这里忘改了
展开
 我来答
George_Gate
2015-01-22 · TA获得超过445个赞
知道小有建树答主
回答量:127
采纳率:0%
帮助的人:180万
展开全部
Disp那个问题。。。是你自己打错了吧。。。

disp是Matlab的内置函数,Matlab是大小写敏感的。
至于c没有定义的问题,最好问这个程序的作者....语法上你只要在"Maxpid=max(c);"这一句之前对c赋值一次就可以了,不过要赋什么值跟这段代码想干什么有关。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式