问题描述
|
我在192x1向量中有3个变量(
x
,y
,z
)。数据都是随机的,有时具有缺失值(NaNs)。
我想将变量c
相对于其他两个变量x
和ѭ1contour作为轮廓图绘制(x轴上为x
,y轴上为y
,,2ѭ组成轮廓线)。
我最大的问题是为x
和y
组成192x192矩阵,因为x
和y
由随机数据组成。我尝试使用GRIDDATA,delaunay和TriScatteredInterp,但是它们没有用,因为我的数据中包含NaN。
有人知道我能做什么吗?如果有一种方法可以从x
和y
的散点图返回x
vsy
的矩阵,那么我的问题就可以解决。
范例程式码
x=rand(192,1);
y=rand(192,1);
z=rand(192,1);
[X,Y]=meshgrid(x,y);
contour(X,Y,z);
???在74使用==>轮廓时出错
Z的大小必须为2x2或更大。
解决方法
您要使用NaN做什么?它们是否包含绘制轮廓图的其他信息?您不能删除它们吗?
idx = any(isnan([x y z]),2);
x(idx)=[];
y(idx)=[];
z(idx)=[];
然后,您可以根据此问题应用解决方案。无论如何,丢失的数据将被解释。
,由于轮廓图的性质,问题在于矩阵z的大小。如果调试代码,您会看到在调用meshgrid之后,X和Y的大小将变为192 x192。只需更改以下行即可使用!让我知道问题是否解决了;)
z=rand(192,192);