matlab三维矩阵_Matlab绘制三维表面模型说明
Matlab绘制三维表面模型说明
首先将excel表中的数据加载到matlab中
有两种较为简单的方法(可以直接读取excel,但是你只是要图的话没必要这么复杂,所以就不提这一种了,只说两种简单的方法)
①在matlab主页点击导入数据→选择你的数据文件→选中要用的数据,将数据类型改成数值矩阵,矩阵名称改为pointTab→点击导入所选内容,完成数据加载,此时在工作区可以看见我们导入的数据。
②打开excel表,选中需要导入的数据,复制→在matlab的工作区新建一个数值矩阵,命名为pointTab→双击打开这个矩阵,在变量区域粘贴刚才复制的数据即可。
然后进行数据预处理
分析这个数据发现平面坐标是规则的,如下图所示:
既然是规则的,那就好办了,不需要插值等一系列操作,直接把数据整理成符合mesh函数需要的格式即可。(mesh函数需要的数据是三个等大的矩阵,三个矩阵分别对应存储三维坐标X、Y、Z)
发现平面坐标的步长为25,则对应矩阵的行列计算如下:
x = pointTab(:,1)/25+1;
y = pointTab(:,2)/25+1;
即坐标值除以25再加一就是当前三维坐标分别在自己矩阵中对应的行列号,计算出行列号并将值存储进去即可,代码如下:
[r,~] = size(x);
for i = 1:1:r
row = x(i);
col = y(i);
X(row,col) = pointTab(i,1);
Y(row,col) = pointTab(i,2);
Z(row,col) = pointTab(i,3);
end
绘制表面模型
代码如下:
surf(X,Y,Z);
后续优化操作可以在代码里简单写写,也可以在图形界面交互操作,不在赘述。效果图如下:
另附完整代码如下:
%{本实例用于将一组简单三维离散点构建曲面模型并显示导入数据为n个点的三维坐标(n行3列的数值矩阵pointTab)显示成果为该导入数据经过整理生成的三维曲面模型by Mr.Chai%}rowTab = pointTab(:,1)/25+1; % 将x坐标换算成矩阵的行comTab = pointTab(:,2)/25+1; % 将y坐标换算成矩阵的列[r,~] = size(pointTab); % 获取pointTab中点的个数for i = 1:1:r row = rowTab(i); % 当前点对应的矩阵行号 col = comTab(i); % 当前点对应的矩阵列号 X(row,col) = pointTab(i,1); % 将当前点的x坐标写入X矩阵的row行,col列处 Y(row,col) = pointTab(i,2); % 将当前点的y坐标写入Y矩阵的row行,col列处 Z(row,col) = pointTab(i,3); % 将当前点的z坐标写入Z矩阵的row行,col列处end%绘制曲面figure(1); % 新建一个图层surf(X,Y,Z); % 绘制曲面模型shading interp; % 去除表面模型的黑框线colormap(jet); % 假彩色渲染colorbar; % 显示色度条msgbox '恭喜你,你的代码运行完毕!';
matlab三维矩阵_Matlab绘制三维表面模型说明相关推荐
- matlab 根据顶点坐标绘制三维立方体(当部分边有权值时)
matlab 根据顶点坐标绘制三维立方体棱线(当部分边有权值时,有更多的边时方法是类似的) a25=load('xx0.25');%顶点x坐标,大立方体外表面棱边权值为0.25的边的两顶点x坐标,第一 ...
- matlab绘三维椭球面_Matlab绘制曲面
本文整理了一些三维绘图的内容,代码都比较简单 1.surf.surfc.surfl之后可以试试shading interp 2.绘制隐函数 3.参数方程绘制曲面 4.三维到平面:等高线+引力线 5.快 ...
- Matlab由三维散点绘制三维曲面(含等高线,剖面图)
绘图描述:由若干个给定的三维散点(x,y,z)绘制一个三维的曲面,具体的效果如图: 伪彩图: 等高线: 三维曲面(深色): 三维曲面(浅色)+等高线: 剖面图: Matlab 程序如下: 其中A就是我 ...
- Matlab一维矩阵无法与三维矩阵进行矩阵乘法?
解决方法 貌似Matlab只支持一维与二维,二维与三维的矩阵乘法.把高维矩阵降维就能解决了,但是需要注意降维之后矩阵乘法是否结果一致.stackoverflow的回答
- matlab 三nurbs,nurbs 绘制 三维、二维图形,网格细化,基函数求解等 包 matlab 238万源代码下载- www.pudn.com...
文件名称: nurbs下载 收藏√ [ 5 4 3 2 1 ] 开发工具: matlab 文件大小: 334 KB 上传时间: 2013-03-16 下载次数: 18 提 供 者: 吴紫俊 ...
- matlab中三维非线性拟合,matlab非线性拟合与绘制三维曲面
建议用1stOpt,使用简单,不用猜初值,拟合效果非常强.下面是由1stOpt得出的结果,应该是唯一最优解.如果用其它软件,估计花费时间不少还不一定能得到最优解. 均方差(RMSE): 2.88773 ...
- python画三维立体图-python绘制三维图
作者:桂. 时间:2017-04-27 23:24:55 本文仅仅梳理最基本的绘图方法. 一.初始化 假设已经安装了matplotlib工具包. 利用matplotlib.figure.Figure创 ...
- matlab应力云图_Matlab绘制二维应力云图
自己研究了下用Matlab绘制二维应力云图的方法,三维应力云图的绘制可以以此类推. 实现的方法主要是运用fill函数,三维情形应该是fill3函数. 这里我们以一个四边形的例子来说明. 如上图所示的四 ...
- matlab 定义矩阵_MATLAB与Python,Mathematica由高维转化一维矩阵的方式的不同
在进行数据处理的时候,我比较喜欢的数据存储方式是所有的数据都保存成MATLAB的".mat"文件,这种格式Python,Mathematica,MATLAB都会支持.不过在转化的时 ...
- MATLAB 之 绘制三维图形的基本函数、三维曲面和其他三维图形
文章目录 一.绘制三维曲线的基本函数 二.三维曲面 1. 平面网格坐标矩阵的生成 2. 绘制三维曲面的函数 3. 标准三维曲面 三.其他三维图形 1. 三维条形图 2. 三维饼图 3. 三维实心图 4 ...
最新文章
- Github开源趋势榜Top 1:英伟达升级发布二代StyleGAN,效果更完美
- 一个大数据排序问题的巧妙解法
- 2apt-get命令,deb包安装,源码安装
- easyVMAF:在自然环境下运行VMAF
- 【详解】CPU执行算术运算或逻辑运算时,常将源操作数和结果暂存在()中
- 记一次SAP开发工程师给微软Azure报incident的体验
- NumPy学习_00 ndarray的创建
- BZOJ.3938.Robot(李超线段树)
- SheetForm.cs
- atitit.为什么技术的选择方法java超过.net有前途
- js做四则运算时,精度丢失问题及解决方法
- python模块:调用系统命令模块subprocess等
- psd文件用什么打开?如何修改psd文件?psd样式怎么修改文字?
- ai带来的革命_AI革命就在这里。 这与我们预期的不同。
- 稻盛和夫经典著作----《心》读后感
- 【MATLAB小游戏】养鱼
- R7 5800H 3060 ubuntu20 配置全纪录(一)主要包括:N卡驱动、网卡驱动、virtualenv、CUDA and pytorch
- 安全攻访策略:PDR模型
- [转载]软件常见的各种版本英文缩写
- 【opencv】opencv窗口创建、大小调整等问题