如何用MATLAB把一个三维矩阵里的数据中的一页画成三维图并加密网格

2019年4月24日 关于如何把一个三维矩阵里的数据中的一页画成三维图并加密网格。
已经很久没有用过MATLAB了,话说之前也没处理过三维数据。。。所以还是花了一点时间找资料的。废话少说。。。
首先因为某人没有给我要处理的数据,所以先用一个随机函数生成一个相同大小的三维数组。

% 网格内插前
G=rand(5,5,21);%生成一个由随机数组成的G矩阵
x=[1 1 1 1 1 ;2 2 2 2 2 ;3 3 3 3 3 ;4 4 4 4 4 ;5 5 5 5 5 ];
%x和y是网格的坐标,注意网格坐标形式,否则下面可能会报错
y=[1 2 3 4 5 ;1 2 3 4 5 ;1 2 3 4 5 ;1 2 3 4 5 ;1 2 3 4 5 ];
z=G(:,:,1);%z等于G矩阵的第一页
figure
surf(x,y,z)

% 网格内插后
F = griddedInterpolant(x,y,z);%函数用法参考https://ww2.mathworks.cn/help/matlab/ref/griddedinterpolant.html
X = linspace(min(x(:)),max(x(:)));%线性插值100等分好像
Y = linspace(min(y(:)),max(y(:)));
[X,Y] = meshgrid(X,Y);%把X、Y坐标对应的值赋到
Z = F(X,Y);
figure
surf(X,Y,Z)

插值前:
如何用MATLAB把一个三维矩阵里的数据中的一页画成三维图并加密网格_第1张图片
插值后:
如何用MATLAB把一个三维矩阵里的数据中的一页画成三维图并加密网格_第2张图片

下面是如何从excel导入数据的方法:

https://jingyan.baidu.com/article/b24f6c822a78bb86bfe5dac2.html

方法六、导入文档数据

很多数据来自Excel,txt等文档,我们没有必要一个一个输入,直接导入就可以。
用import data进行数据导入,找到相应文档,选择数据范围,确认导入就能在workspace中看到数据。

p.s:其实我觉得画XZ平面或者YZ平面的图可能更能反应磁场强度的变化,而这种XY平面的可能更多反应的是均匀性。

你可能感兴趣的:(如何用MATLAB把一个三维矩阵里的数据中的一页画成三维图并加密网格)