matlab 插值生成曲面,[转]Matlab曲面拟合和插值

本文介绍了在Matlab中进行一维和二维数据的插值与拟合方法,包括插值函数interp1、interp2和拟合函数polyfit。通过实例展示了如何使用这些函数对二维曲面数据进行插值和拟合,并给出了插值和拟合的适用场景。文章还提及了Spline Toolbox在二维曲面拟合中的应用。
摘要由CSDN通过智能技术生成

插值和拟合都是数据优化的一种方法,当实验数据不够多时经常需要用到这种方法来画图。

在matlab中都有特定的函数来完成这些功能。

这两种方法的确别在于:

当测量值是准确的,没有误差时,一般用插值;

当测量值与真实值有误差时,一般用数据拟合。

插值:

对于一维曲线的插值,一般用到的函数yi=interp1(X,Y,xi,method)

,其中method包括nearst,linear,spline,cubic。

对于二维曲面的插值,一般用到的函数zi=interp2(X,Y,Z,xi,yi,method),其中method也和上面一样,常用的是cubic。

拟合:

对于一维曲线的拟合,一般用到的函数p=polyfit(x,y,n)和yi=polyval(p,xi),这个是最常用的最小二乘法的拟合方法。

对于二维曲面的拟合,有很多方法可以实现,但是我这里自己用的是Spline

Toolbox里面的函数功能。具体使用方法可以看后面的例子。

对于一维曲线的插值和拟合相对比较简单,这里就不多说了,对于二维曲面的插值和拟合还是比较有意思的。

总结归纳一下给出实例和讲解。

%第一给例子

clc;clear;clf;

%原始数据的定义

x=[1:1:12];

y=[1:1:5];

%z是一个5乘12的矩阵。

z=[0.2 0.24 0.25 0.26 0.25 0.25 0.25 0.26 0.26 0.29 0.25

0.29;

0.27 0.31 0.3 0.3 0.26 0.28 0.29 0.26 0.26 0.26 0.26 0.29;

0.41 0.41 0.37 0.37 0.38 0.35 0.34 0.35 0.35 0.34 0.35 0.35;

0.41 0.42 0.42 0.41 0.4 0.39 0.39 0.38 0.36 0.36 0.36 0.36;

0.3 0.36 0.4 0.43 0.45 0.45 0.51 0.42 0.4 0.37 0.37 0.37];

%直接用原始数据画图如下:

%surf三维表面图

surf(x,y,z);

title('Original data Plot');

xlabel('X'), ylabel('Y'), zlabel('Z'),

%对X,Y,Z轴范围的控制

axis([0 15 0 6 0.2 0.55]);

%第二给例子

clc;clear;clf;

%原始数据的定义

x=[1:1:12];

y&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值