Matlab 如何创建矢量大小不等的曲面图

Matlab 如何创建矢量大小不等的曲面图,matlab,matlab-figure,Matlab,Matlab Figure,我想用上面的数据创建一个曲面图。对于给定的z=0.1图(n1,m1),对于z=0.2图(n2,m2)…如何结合所有这些来获得曲面图?Mathwork关于数据的答案应该给你一个最好的开始 我假设您的最小示例对于z是不正确的,因为所有数据都必须具有相同的维度。 要解决这个问题,插值是您的方法的一个答案。 按照上面提到的链接,它应该是这样的: clc clear all n1=rand(1,10); n2=rand(1,10); n3=rand(1,10); n4=rand(1,10); m1=ran

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

Mathwork关于数据的答案应该给你一个最好的开始

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

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];

你希望从这些数据中得到什么样的曲面?一些不规则曲面。但我的实际代码将给出一些合理的表面plot@vijay你需要告诉我们你的意思,现在还不清楚等等,你的意思是
rand(1)*10
??n1是维度为1*10的向量。使用n1、n2、n3、n4和m1、m2、m3、m4和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);