问题描述
这是我的第一个问题,如有不当之处,请见谅。
我有一个值矩阵,这些值是在平面上每 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,如果我的问题很无聊,很抱歉。
感谢您的反馈,我取得了一些进展;现在我想将轮廓的标签四舍五入到小数点后两位数,但我没有成功。在此处输入图片说明
我尝试:
格式化银行;在开头,或:
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);