1

我有一个函数 z=f(x,y) 并想使用八度来绘制它,但不希望绘图为 3d,如

octave:1> x=(1:300);
octave:2> y=(1:300);
octave:3> [xx,yy]=meshgrid(x,y);
octave:4> A=sin(xx/100).*yy;
octave:5> mesh(x,y,A)

而是在 2d 中使用颜色作为 z 的值,就像使用 gnuplot 指令得到的一样

gnuplot> plot 'a.txt' matrix w image

如果我将矩阵 A 保存在文件 a.txt 中。我发现最接近的是命令contourf,但是如果你尝试一下,你会看到,

octave:7> contourf(xx,yy,A)

结果远非最佳...有什么建议吗?

谢谢

4

1 回答 1

2

imagesc将使用颜色绘制“z”值的矩阵:

> imagesc(x, y, A)

与 相比,这将垂直反转contourf,但这很容易解决:

> imagesc(x, flipud(y), flipud(A))

在您的示例中,您甚至不需要提供变量 x 和 y:

> imagesc(A)
> imagesc(flipud(A))
于 2013-11-18T13:33:50.843 回答