我试图在MATLAB中绘制复杂函数的大小

时间:2014-04-10 01:58:02

标签: matlab plot geometry-surface

到目前为止,这是我的代码:

sigma = -8:0.1:0;
omega = -10:0.1:10;

[x,y] = meshgrid(sigma, omega);

s = x + y*j;

zz = (5^2)./(s.^2 + 2*0.4*5.*s + 5^2);
xx = real(s);
yy = imag(s);
surf(xx,yy,zz);

我收到错误,我无法在surf函数中使用复杂变量。我知道问题出在zz变量中,但我不知道如何找到复杂函数的大小。这正是我想要做的:http://i.imgur.com/Y6Rw8y6.png

1 个答案:

答案 0 :(得分:3)

使用abs获取复数的大小。

zz = (5^2)./(s.^2 + 2*0.4*5.*s + 5^2);
xx = real(s);
yy =imag(s);
surf(xx,yy,abs(zz));