根据实验数据怎么用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中怎么画三维曲面图,以便于对数据的分析,希望然后详细点,谢谢!
展开
3个回答
展开全部
实际上是无法直接绘制出这样的散点对应的曲面的,需要先根据给出的散点(采样点)数据通过三维插值(或拟合)获得网格节点上的曲面数据。
以下代码:
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) %绘制曲面
以下代码:
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) %绘制曲面
展开全部
曲线拟合 spline(x,y),spline(x,z),polifit(x,y)
plot3(x,y,z)
mesh
plot3(x,y,z)
mesh
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
本视频展示如何用matlab绘制散圆状态图,可用于相关科研数据绘图!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询