Plot 倍频程二次曲面作图
我被分配了一个项目,要求我画一些二次曲面。我努力地下载一些软件,这样我的图表看起来比其他免费在线资源的图表要好。我决定试试八度音阶,看看能不能让它工作,但我遇到了一个问题。尝试绘图时: 我查阅了一些教程,但到目前为止,我还不能确定我的错误。这是我使用的代码:Plot 倍频程二次曲面作图,plot,octave,Plot,Octave,我被分配了一个项目,要求我画一些二次曲面。我努力地下载一些软件,这样我的图表看起来比其他免费在线资源的图表要好。我决定试试八度音阶,看看能不能让它工作,但我遇到了一个问题。尝试绘图时: 我查阅了一些教程,但到目前为止,我还不能确定我的错误。这是我使用的代码: clear; x = [-3:1:3]; y = x; [xx,yy] = meshgrid(x,y); zz=sqrt(-9*xx.^2+9*yy.^2); figure mesh(xx,yy,zz); 非常感谢您的建议。您
clear;
x = [-3:1:3];
y = x;
[xx,yy] = meshgrid(x,y);
zz=sqrt(-9*xx.^2+9*yy.^2);
figure
mesh(xx,yy,zz);
非常感谢您的建议。您的脚本在命令窗口中抛出的错误是:
error: mesh: X, Y, Z, C arguments must be real
error: called from
mesh at line 61 column 5
blah at line 15 column 1
因为你的x
和y
是真实的,所以想象是从一个小于0的数字的平方根开始的。查看您的等式,这将发生在任何(x
,y
)对中,其中x
大于y
最简单的修复方法是将所有复数(值为“代码>ZZ</CODE”的值设置为非零虚部)为0(这将绘制值)或NaN(这将不绘制值)。考虑此脚本(您的加过滤):
脚本的命令窗口中抛出的错误是:
error: mesh: X, Y, Z, C arguments must be real
error: called from
mesh at line 61 column 5
blah at line 15 column 1
因为你的x
和y
是真实的,所以想象是从一个小于0的数字的平方根开始的。看看你的方程,这将发生在x
,y
大于y
的任何(x
)对上
最简单的修复方法是将所有复数(值为“代码>ZZ</CODE”的值设置为非零虚部)为0(这将绘制值)或NaN(这将不绘制值)。考虑此脚本(您的加过滤):
我更喜欢这样:x = -3:0.1:3;
y = x;
[xx,yy] = meshgrid(x,y);
zz=sqrt(-9*xx.^2+9*yy.^2); % zz will have both + and -
figure
% zz = abs(zz) ;
mesh(xx,yy,abs(zz));
hold on
mesh(xx,yy,-abs(zz));
我更喜欢这样:
x = -3:0.1:3;
y = x;
[xx,yy] = meshgrid(x,y);
zz=sqrt(-9*xx.^2+9*yy.^2); % zz will have both + and -
figure
% zz = abs(zz) ;
mesh(xx,yy,abs(zz));
hold on
mesh(xx,yy,-abs(zz));
谢谢您的帮助!有没有办法同时生成z的正值和负值?@Max,如中所示,您可以使用
hold('on')
(或hold on
,以您喜欢的为准)然后使用相同的xx
和yy
矩阵简单地绘制zz
的负值。感谢您的帮助!有没有办法生成z的正值和负值?@Max,如中所示,您可以使用hold('on')
(或hold on
,以您喜欢的为准)然后使用相同的xx
和yy
矩阵简单地绘制zz
的负数。