相关文章推荐
x=xlsread('D:需重新画图的数据.xlsx','Sheet1','A1:A......');
y=xlsread('D:需重新画图的数据.xlsx','Sheet1','B1:B......');
z=xlsread('D:需重新画图的数据.xlsx','Sheet1','C1:C......');

“......”代表数字,都懂的

2.接着就要创建以x,y坐标为基准的网格

xmax=max(x);
xmin=min(x);
ymax=max(y);
ymin=min(y);
[X,Y]=meshgrid(xmin:5:xmax,ymin:5:ymax);

max(),min()命令就是取最大值最小值;

这里meshgrid(xmin:5:xmax,ymin:5:ymax))的作用是:先看作m=xmin:5:xmax,n=ymin:5:ymax。分别产生以向量m为行,向量n为列的两个大小相同的矩阵,其中x的行是从xmin开始到xmax,每间隔5记下一个数据,并把这些数据集成矩阵X;同理y的列则是从ymin到ymax,每间隔5记下一个数据,并集成矩阵Y。

我们创建了网格,z坐标才有了参照网格,最后才能绘制出曲面。

3.利用griddata()函数实现插值拟合

Z=griddata(x,y,z,X,Y,'v4');

说实话,这个函数解释起来我好像有点难,看看网上是怎么解释吧,我就附上百度知道里怎么解释的吧。。。

matlab中griddata函数怎么用_百度知道​zhidao.baidu.com

4.最后就是作图就可以了

figure(1)
surf(X,Y,Z)
shading interp 
colorbar

绘制三维曲面图,经过我实验发现坐标点应该要足够多,处理的时间有点长(可能跟我的电脑有关)。

最终处理出的图就像下面这样:

最近遇到个问题,如何利用一大堆三维坐标点,拟合出三维曲面。不知道大家有没有遇见过,就是下面这种。我当然是上网百度啊之类的,想看看要怎么作,但转了一圈下来,发现网上几乎是关于下面情况的作图说明,即:我现在知道x坐标y坐标,z坐标是关于每个(x,y)的函数表达式。就像最普遍的例子,看下图(其实下图是利用python的作图,不过意思差不多就这样)但我这次是需要直接利用(x,y,z)坐标绘制三维曲面,那就... 对于( 坐标 ,物理量)这类 数据 的可视化(云图)一直在探索,二维 数据 选择用 matlab 处理,因为 matlab 的imagesc函数可以根据 数据 值的大小用不同颜色来显示。但是对应的 三维 数据 (x,y,z,物理量)的 数据 处理一直没找到合适的方式。多次搜索发现tecplot可以做,但是都没有详细的步骤,因此写这篇博文详细展示一下 导入 的过程。 将 数据 存入Excel,按照x 坐标 、y 坐标 、z 坐标 、物理... %定义一个规则网格并在该网格上插入散点 数据 。 [xq,yq] = mesh grid (linspace(min(x),max(x)),linspace(min(y),max(y))); vq = grid data(x,y,v,xq,yq); %将网格 数据 绘制 为网格,将散点 数据 绘制 为点。 mesh (x ``` matlab x = table2array(data(:,1)); % 获取第一列 数据 作为x轴 数据 y = table2array(data(:,2)); % 获取第二列 数据 作为y轴 数据 z = table2array(data(:,3)); % 获取第三列 数据 作为z轴 数据 3. 然后,可以使用scatter3函数或plot3函数来 绘制 三维 散点图或曲线图。例如: ``` matlab scatter3(x,y,z); % 绘制 三维 散点图 ``` matlab plot3(x,y,z); % 绘制 三维 曲线图 4. 如果需要对 三维 图进行进一步的设置,可以使用xlabel、ylabel、zlabel、title等函数来设置 坐标 轴标签和标题。例如: ``` matlab xlabel('X轴'); % 设置x轴标签 ylabel('Y轴'); % 设置y轴标签 zlabel('Z轴'); % 设置z轴标签 title(' 三维 图'); % 设置标题 5. 最后,可以使用saveas函数将 绘制 好的 三维 图保存为图片。例如: ``` matlab saveas(gcf,'3D图.png'); % 将当前图形保存为3D图.png
 
推荐文章