我需要分析以下传递函数的阶跃响应。 但是,当执行步骤(sys)时,Octave中会出现“尺寸不匹配”。
理论上解决问题是不可能的?传递函数'sys'由maxima(计算机代数系统)的某些电路方程计算得出。
任何帮助将不胜感激。提前谢谢。
octave:2> sys
Transfer function 'sys' from input 'u1' to output ...
-10 s - 1e+06
y1: ------------------------------------
8.6e-17 s^3 + 0.086 s^2 + 8600 s + 1
Continuous-time model.
octave:3> step(sys, 10)
error: __step_response__: A(I,J,...) = X: dimensions mismatch
error: called from:
error: /home/yusuke/octave/control-2.6.5/__time_response__.m at line 280, column 18
error: /home/yusuke/octave/control-2.6.5/__time_response__.m at line 126, column 12
error: /home/yusuke/octave/control-2.6.5/step.m at line 89, column 10
注意
控件包本身工作正常如下。
octave:15> sys2=tf([1],[1 1]);
octave:16> step(sys2, 10);
--> the waveform of step response is visualized successfully.
软件版本
操作系统:Ubuntu14.04LTS
octave:3.8.1
答案 0 :(得分:2)
它在Windows上的Octave 3.8.0中适用于我,但阶跃响应为零:
>> sys = tf([-10 -1e6],[8.6e-17 0.086 8600 1])
Transfer function 'sys' from input 'u1' to output ...
-10 s - 1e+006
y1: -------------------------------------
8.6e-017 s^3 + 0.086 s^2 + 8600 s + 1
>> step(sys,10)
我认为原因是分母中的s^3
系数基本上为零:
>> sys1 = minreal(sys)
Transfer function 'sys1' from input 'u1' to output ...
-1.163e+017
y1: ---------------------------
s^2 + 1e+015 s + 1.163e+011
Continuous-time model.
>> step(sys1,10)