根据实验数据怎么用matlab画三维曲面图?

通过实验,获得了很多诸如(123)(456)(789)(101112)(131415)(161718)(192021)这样的数据,总共有近一千多个,在MATLAB中怎么画... 通过实验,获得了很多诸如(1 2 3)(4 5 6 )(7 8 9)(10 11 12)(13 14 15)(16 17 18)(19 20 21)这样的数据,总共有近一千多个,在MATLAB中怎么画三维曲面图,以便于对数据的分析,希望然后详细点,谢谢! 展开
 我来答
刘老师法律在线
高能答主

推荐于2016-05-10 · 为各位题主提供贴心的法律援助
刘老师法律在线
采纳数:7701 获赞数:90237

向TA提问 私信TA
展开全部
实际上是无法直接绘制出这样的散点对应的曲面的,需要先根据给出的散点(采样点)数据通过三维插值(或拟合)获得网格节点上的曲面数据。
以下代码:
clear
x=[129 140 103.5 88 185.5 195 105.5 157.5 107.5 77 81 162 162 117.5];
y=[7.5 141.5 23 147 22.5 137.5 85.5 -6.5 -81 3 56.5 -66.5 84 -33.5];
z=[-4 -8 -6 -8 -6 -8 -8 -9 -9 -8 -8 -9 -4 -9];
cx=75:0.5:200;
cy=-70:0.5:150;
cz=griddata(x,y,z,cx,cy','cubic');
meshz(cx,cy,cz)

一般情况下可以采用如下我给你编写的函数
function PlotGriddata(x,y,z)
mx=min(x);%求x的最小值
Mx=max(x);%求x的最大值
my=min(y);
My=max(y);
Nx=50; %定义x轴插值数据点数,根据实际情况确定
Ny=50;%定义y轴插值数据点数,根据实际情况确定
cx=linspace(mx,Mx,Nx);%在原始x数据的最大值最小值之间等间隔生成Nx个插值点
cy=linspace(my,My,Ny);%在原始数据y的最大值最小值之间等间隔生成Ny个插值点
cz=griddata(x,y,z,cx,cy','cubic');%调用matlab函数进行立方插值
meshz(cx,cy,cz) %绘制曲面
adanos
推荐于2017-11-27 · TA获得超过502个赞
知道小有建树答主
回答量:909
采纳率:100%
帮助的人:227万
展开全部
曲线拟合 spline(x,y),spline(x,z),polifit(x,y)

plot3(x,y,z)

mesh
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
matlab爱好者
2020-12-25 · matlab编程与科研资料分享,欢迎关注!
matlab爱好者
采纳数:16 获赞数:28

向TA提问 私信TA
展开全部

本视频展示如何用matlab绘制散圆状态图,可用于相关科研数据绘图!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式