云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 第7章计算方法的MATLAB实现讲稿

第7章计算方法的MATLAB实现讲稿

  • 62 次阅读
  • 3 次下载
  • 2025/7/4 22:43:21

例7-9 程序:

[x,y]=meshgrid(-4:1:4); z=peaks(x,y);

[xI,yI]=meshgrid(-4:0.25:4);

zI=interp2(x,y,z,xI,yI,'cubic');%二维双三次插值 surf(xI,yI,zI)

运行结果见图7-6。

图7-6 二维双三次插值

7.4.3 多维插值

MATLAB提供了几种多维数据的插值函数,如表7-1中所示。

表7-1 多维数据的插值函数

函 数 interp3 interpn ndgrid 描 述 三维数据插值 多维数据插值 多维数据网格化 函数interp3进行三维插值。计算三维样本集V中数据点之间的值。该函数的一般形式为:

VI=interp3(X,Y,Z,V,XI,YI,ZI,method)

其中,X,Y和Z指定数据点;V包含与X,Y和Z对应的值;XI,YI和ZI

- 9 -

为interp3函数对V中数据进行插值的点。对于超出范围的值,interp3函数返回NaN。method表示插值方法,为可选参数。

对于三维数据,有三种不同的插值方法。 ●最近邻插值(method='nearest'):该方法选择最近点的值; ●线性插值(method='linear'):该方法基于最近的8个点进行分区域线性插值;

●三次插值(method='cubic'):该方法基于最近的64个点进行分区域三次插值。

用interpn函数进行更高维数据的插值,该函数的常用形式为:

VI=interpn(X1,X2,X3,?,V,Y1,Y2,Y3,?,method)

其中,Y1,Y2,Y3, ?为interpn函数对V中数据进行插值的点。对于超出范围的值,interpn函数返回NaN。method表示插值方法,为可选参数。

高维数据插值,同样有最近邻插值、线性插值和三次插值三种方法。 用ndgrid函数为高维函数评价和插值生成数据数组。该函数将一系列输入矢量指定的图域转换为一系列输出数组。第i维是输入矢量xi的拷贝。

ndgrid函数的语法格式为:

[X1,X2,X3,?]= ndgrid(x1,x2,x3,?)

7.5 曲线拟合

所谓曲线拟合,就是利用两个或多个变量的离散点,用平滑曲线来拟合它们之间的关系。根据拟合方法的不同,有参数拟合和非参数拟合之分。参数拟合,曲线不要求通过所有点,采用最小二乘法;非参数拟合,要求曲线通过所有点,采用插值法。由于曲线拟合是数据分析最常见的任务之一,MATLAB提供了多种函数和工具来进行曲线拟合,另外还有曲线拟合工具箱。 7.5.1 最小二乘法

最小二乘法通过最小化残差的平方和来获得待定系数的估计。第i个数据点的残差定义为测量响应值yi和拟合响应值yi之间的差值,即ri?yi?yi,残差的平方和S????ri?1n2i??(yi?yi)2。

i?1n?常见的最小二乘法包括线性最小二乘、加权线性最小二乘、稳健最小二乘和非线性最小二乘等。求解非线性最小二乘问题的Gauss-Newton法和Levenberg-Marquart法是老牌算法。

- 10 -

7.5.2 多项式曲线拟合

用polyfit函数计算拟合数据集的多项式在最小二乘意义上的系数,调用形式为:

p=polyfit(x,y,n)

x和y是包含要拟合的x和y数据的矢量,n是多项式的阶次。 例7-10 程序: x=1:10;

y=[1 3 31 133 381 871 1723 3081 5113 8011];

P=polyfit(x,y,4)%多项式曲线拟合,返回多项式的系数。 运行结果: P =

1.0000 -2.0000 -0.0000 1.0000 1.0000 7.5.3 相关工具

MATLAB支持用基本拟合界面进行拟合。该拟合界面具有拟合快速,操作简便的优势。它具有如下功能:

●使用样条插值、分段三次艾尔米特插值(PCHIP)或者是1到10阶的多项式插值进行数据拟合;

●利用一组数据可以同时作多条拟合曲线; ●可以绘制残差图; ●可以检查拟合结果;

●可以对拟合进行内插或外推;

●用拟合结果和标准残差在图中进行注释;

●可以将拟合和计算结果保存到MATLAB工作空间。 下面结合一个具体的例子加以说明。

例7-11 某商店某种产品的销售量如表7-2所示。

表7-2 某产品销售量资料

年份 2001 2002 2003 2004 2005 2006 2007 2008 2009 销售量(万件) 10.0 18.0 25.0 30.5 35.0 38.0 40.0 39.5 38.0 请用多项式曲线拟合上述数据。 按照下面的步骤进行操作。

⑴用上述数据绘散点图和线形图的组合图(见图7-7); ⑵在图形窗口的“Tools”菜单中单击“Basic Fitting”菜单选项;

- 11 -

⑶两次单击“→”按钮。

打开的曲线拟合界面“Basic Fitting”对话框如图7-8所示。 基本拟合界面中各选项的功能包括:

●Select data下拉式列表框:该列表框中显示了图形窗口中图形用到的所有数据集的名称,在其中选择要拟合的数据。一次只能选择一组数据,但在一组数据里可以同时拟合多条曲线。

●Center and scale x data单选钮:选择此项以后,数据中心化为具有0均值,比例化为具有单位标准差。对数据进行中心化和比例化,可以提高后面数值计算的精度。

图7-7 散点图和线形图的组合图

●Plot fits:使用本面板,可以用图形查看当前数据集的一种或多种拟合结果。

●Check to display fits on figure:选择当前数据集的拟合类型。有两种拟合类型可供选择,即插值和多项式。进行三次样条插值使用Spline函数,保形(shape-preserving)插值使用pchip函数(三次插值)。多项式拟合使用polyfit函数。可以选择多种拟合类型。

●Show equations单选钮:选此项,在拟合图形上显示方程。

- 12 -

搜索更多关于: 第7章计算方法的MATLAB实现讲稿 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

例7-9 程序: [x,y]=meshgrid(-4:1:4); z=peaks(x,y); [xI,yI]=meshgrid(-4:0.25:4); zI=interp2(x,y,z,xI,yI,'cubic');%二维双三次插值 surf(xI,yI,zI) 运行结果见图7-6。 图7-6 二维双三次插值 7.4.3 多维插值 MATLAB提供了几种多维数据的插值函数,如表7-1中所示。 表7-1 多维数据的插值函数 函 数 interp3 interpn ndgrid 描 述 三维数据插值 多维数据插值 多维数据网格化 函数interp3进行三维插值。计算三维样本集V中数据点之间的值。该函数的一般形式为: VI=inter

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com