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