num=[1];
den=[1 3 1];
G=tf(num,den);
H=1;
T=feedback(G,H);
step(T);
hold on;
Kp=23;
Ki=0;
Kd=0;
C=pid(Kp,Ki,Kd);
T=feedback(C*G,H);
step(T);
运行此脚本时,在Octave中什么也没有发生,但在octave-online.net中工作正常
即使OP已经通过评论解决了他们的问题,我也会在这里为将来的用户提供一个正确的答案。
octave-online.net是出色的云服务,在云上提供八度的实例。
与在Linux或Windows上典型的八度安装相反,八度在线客户端autoloads一些较流行的软件包,其中一个是control
。
您可以通过在八度音阶控制台中输入pkg list
来确认。
但是,在正常的linux / windows安装中,需要在使用前明确加载它,例如对于控制包,请执行pkg load control
。
您的代码使用函数feedback
和pid
,它们都依赖于control
包,因此,在Windows实例中,您的代码失败,因为您尝试使用这些功能而不先加载该包。
大概您的终端机中也有一个错误通知您这一事实,您可能已经错过了。