xy 平面中值矩阵的轮廓图

问题描述

这是我的第一个问题,如有不当之处,请见谅。

我有一个值矩阵,这些值是在平面上每 50 厘米在两个轴上进行的测量:即纬度从 -3 米到 3 米,经度从 -3 m 到 3 m。 这将产生一个 13 行 13 列的矩阵。

我想通过等高线函数绘制等值线。

假设 M 是从文件中读取的矩阵。

contour(M):进行计算并绘制结果,但我不知道如何在我想要的轴上缩放。

换句话说,从 -3 到 3 :0.5 on x 和 -3 到 3 :0.5 on y

这是我第一次尝试 Octave,如果我的问题很无聊,很抱歉。

enter image description here

感谢您的快速回复,抱歉我的回复延迟。

感谢您的反馈,我取得了一些进展;现在我想将轮廓的标签四舍五入到小数点后两位数,但我没有成功。在此处输入图片说明

我尝试:

格式化银行;在开头,或:

I=contour(X,Y,K); Y=round(I);

我知道这是一个愚蠢的问题,但有什么建议吗?

再次感谢。

解决方法

函数 contour 接受另外两个参数来定义轴:

% generate some bogus values
M = rand(13,13); for k=2:3; M = conv2(M,ones(k)/k^2,'same'); end

% set up axes
u = linspace(-3,3,size(M,1));
v = linspace(-3,2)); 
contour(u,v,M);

% if it's possibly an uneven grid,use full matrices:
[U,V] = meshgrid(u,v);
contour(U,V,M);

enter image description here