Matlab画图 现有四列散点数据x1,y1,z1,f1,想画一个如下图所示的三维曲线图
数据大概是这样的,100 * 100 * 100个点。站里有好多利用mesh,meshc,meshz函数绘制三维网格图形的,尝试画了一下但是行不通?用Scatter3画了一个。刚开始用,在论坛里查了好久,但是没搞明白。希望有兄弟愿意指导一下思路?
我现在的初步想法是插值、网格化,再选择合适的函数画图,代码是这样滴
data = sortrows(data); % data就是原始数据,由x1,y1,z1,f1四组列向量构成
x1 = data(:,1);
y1 = data(:,2);
z1 = data(:,3);
f1 = data(:,4);
x2 = (-0.17):0.001:(-0.12);
y2 = (-0.01):0.001:(0.01);
z2 = 3.99:0.001:4.01;
[X,Y,Z] = meshgrid(x2,y2,z2);
F = griddata(x1,y1,z1,f1,X,Y,Z,'linear');
然后用新获得的这组X,Y,Z,F来画图,但是由于不知道选啥函数合适,还在试,也不知道这样处理数据会失真多少。