在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
我原以为理解并且会应用matlab绘制三维图,但动起手来,我发现各种不会,弄着弄着都有点怀疑人生了。首先,plot与plot3分别绘制二维与三维的曲线,而不是曲面,这是我的一个误区!还有,当你有x,y,z数据(行向量或者列向量)时,直接用surf(x,y,z)会给你报错,说z为矩阵的提示。还好,我在网上找到一篇博客,讲到此问题,帮我顺利解决难题,感谢笔芯!原因是: 【Matlab】离散点绘制三维曲面方法小结 - Find your love - CSDN博客 https://blog.csdn.net/shanchuan2012/article/details/72772191
以上就是我不能直接用surf的原因了。 解决方法: 1. %确定网格坐标(x和y方向的步长均取0.1) meshgrid是MATLAB(一款应用软件)中用于生成网格采样点的函数。在使用MATLAB进行3D图形绘制方面有着广泛的应用。 [X,Y] = meshgrid(x,y) 解释:输出X的每一行的数值都是复制的x的值;输出Y的每一列的数值都是复制的y的值。 meshgrid_百度百科 https://wapbaike.baidu.com/item/meshgrid/3794127?fr=aladdin&ms=1&rid=7297986572924445218 2. ZI = griddata(x,y,z,XI,YI) 调整形如z = f(x,y)的曲面,使之与非等间距矢量(x,y,z)中的数据吻合。griddata 函数在指定的(XI,YI)点处插补此曲面,生成ZI. 此曲面一定通过这些数据点。 XI 和 YI 通常构成均匀网格(与meshgrid函数生成的相同). XI 可以是行矢量,这种情况下该矢量确定一个具有固定列数的矩阵。与之类似,YI 可以是列矢量,确定一个具有固定行数的矩阵。 [XI,YI,ZI] = griddata(x,y,z,XI,YI) 函数返回与上述矩阵相同的插补后的矩阵ZI。并返回由行矢量XI和列矢量yi形成的矩阵XI 和YI. 后者与meshgrid 函数返回的矩阵相同。 [...] = griddata(...,method)使用规定的插补方法: 'linear' 基于三角形的线性插补法(缺省) 'cubic' 基于三角形的三次插补法 'nearest' 最近邻居插补法 'v4' MATLAB 4 griddata方法。 这些方法定义了匹配数据点的曲面类型。'cubic' 和 'v4' 方法生成平滑曲面,而 'linear' 和 'nearest' 分别具有一阶导数和零阶导数不连续。除'v4' 外所有方法基于数据的三角化。如果方法为[], 则使用缺省的'linear' 方法。 griddata_百度百科 https://wapbaike.baidu.com/item/griddata/3922116?fr=aladdin&ms=1&rid=7053847170498709362&sc_id=G10EwzC 3. 4. matlab函数——shading函数 - 细水长流 - CSDN博客 https://blog.csdn.net/qq_27561265/article/details/48267579 5. 查看并设置当前颜色图 - MATLAB colormap - MathWorks 中国 https://ww2.mathworks.cn/help/matlab/ref/colormap.html 要是绘制散点图,可以用scatter函数,不用连成曲线,而是单独的点
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论