我写了一个简单的函数:
function f = G(s)
f = 16/(s.^2+3*s+16)
endfunction
我想将此传递函数从s = 0绘制到4,步长为0.01。出于某种原因,我无法让它发挥作用。我得到了不一致的参数错误。我是八度新人。
答案 0 :(得分:3)
缺少一个点。当您需要按元素操作(./
)时,它是必需的。
请参阅https://www.gnu.org/software/octave/doc/interpreter/Arithmetic-Ops.html中x / y
和x ./ y
之间的区别。
function G = G(s)
G = 16./(s.^2+3*s+16);
endfunction
s_ = 0:0.01:4;
plot(s_, G(s_))
答案 1 :(得分:3)
如果它是传递函数,那么你想使用control
包得到一个Bode图而不是将它作为一个函数绘制,这实际上没有意义(s
复杂):
>> G = tf(16,[1 3 16])
Transfer function 'G' from input 'u1' to output ...
16
y1: --------------
s^2 + 3 s + 16
Continuous-time model.
>> bode(G)
给出了