如何使用不相等的矢量大小

时间:2018-05-09 05:29:27

标签: matlab matlab-figure

clc
clear all
n1=rand(1,10);
n2=rand(1,10);
n3=rand(1,10);
n4=rand(1,10);
m1=rand(1,10);
m2=rand(1,10);
m3=rand(1,10);
m4=rand(1,10);
n=[n1;n2;n3;n4];
m=[m1;m2;m3;m4];
z=[0.1,0.2,0.3,0.4];

我想用上面的数据创建一个曲面图。给定z = 0.1曲线(n1,m1),z = 0.2曲线(n2,m2)....如何将所有这些结合起来得到曲面图?

1 个答案:

答案 0 :(得分:0)

Mathwork对how to plot scattered数据的回答应该会给你最好的开始。

我认为您的最小示例与z不正确,因为所有数据都必须具有相同的维度。 解决这个问题,插值是你的方法的一个答案。 按照上面提到的链接,它应该是这样的:

n = rand(4,10);
m = rand(4,10);
z=repmat([0.1 : 0.1 : 0.4]',1,size(n,2));
resolution = 0.01;
[xi,yi] = meshgrid(min(n):resolution:max(n), min(m):resolution:max(m));
zi = griddata(n,m,z,xi,yi);
surf(xi,yi,zi);