7.1.1 分段线性插值

所谓分段线性插值就是通过插值点用折线段连接起来逼近原曲线,这也是计算机绘制图形的基本原理。实现分段线性插值不需编制函数程序,MATLAB自身提供了内部函数interp1其主要用法如下:

interp1(x,y,xi) 一维插值

◆ yi=interp1(x,y,xi)

对一组点(x,y) 进行插值,计算插值点xi的函数值。x为节点向量值,y为对应的节点函数值。如果y 为矩阵,则插值对y 的每一列进行,若y 的维数超出x 或 xi 的维数,则返回NaN。

◆ yi=interp1(y,xi)

此格式默认x=1:n ,n为向量y的元素个数值,或等于矩阵y的size(y,1)。

◆ yi=interp1(x,y,xi,’method’)

method用来指定插值的算法。默认为线性算法。其值常用的可以是如下的字符串。

● nearest 线性最近项插值。

● linear 线性插值。

● spline 三次样条插值。

● cubic 三次插值。

所有的插值方法要求x是单调的。x 也可能并非连续等距的。

正弦曲线的插值示例:

>> x=0:0.1:10;

>> y=sin(x);

>> xi=0:0.25:10;

>> yi=interp1(x,y,xi);

>> plot(x,y,’0’,xi,yi)

则可以得到相应的插值曲线(读者可自己上机实验)。

Matlab也能够完成二维插值的运算,相应的函数为interp2,使用方法与interpl基本相同,只是输入和输出的参数为矩阵,对应于二维平面上的数据点,详细的用法见Matlab联机帮助。

7.1.2 最小二乘法拟合

在科学实验的统计方法研究中,往往要从一组实验数据中寻找出自变量x 和因变量y之间的函数关系y=f(x) 。由于观测数据往往不够准确,因此并不要求y=f(x)经过所有的点 ,而只要求在给定点上误差按照某种标准达到最小,通常采用欧氏范数作为误差量度的标准。这就是所谓的最小二乘法。在MATLAB中实现最小二乘法拟合通常采用polyfit函数进行。

函数polyfit是指用一个多项式函数来对已知数据进行拟合,我们以下列数据为例介绍这个函数的用法:

>> x=0:0.1:1;

>> y=[ -0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2 ]

为了使用polyfit,首先必须指定我们希望以多少阶多项式对以上数据进行拟合,如果我们指定一阶多项式,结果为线性近似,通常称为线性回归。我们选择二阶多项式进行拟合。

>> P= polyfit (x, y, 2)

P=

-9.8108 20.1293 -0.0317

函数返回的是一个多项式系数的行向量,写成多项式形式为:

为了比较拟合结果,我们绘制两者的图形:

>> xi=linspace (0, 1, 100); %绘图的X-轴数据。

>> Z=polyval (p, xi); %得到多项式在数据点处的值。

当然,我们也可以选择更高幂次的多项式进行拟合,如10阶:

>> p=polyfit (x, y, 10);

>> xi=linspace (0, 1,100);

>> z=ployval (p, xi);

读者可以上机绘图进行比较,曲线在数据点附近更加接近数据点的测量值了,但从整体上来说,曲线波动比较大,并不一定适合实际使用的需要,所以在进行高阶曲线拟合时,“越高越好”的观点不一定对的。

7.2 符号工具箱及其应用

在数学应用中,常常需要做极限、微分、求导数等运算,MATLAB称这些运算为符号运算。MATLAB的符号运算功能是通过调用符号运算工具箱 (Symbolic Math Toolbox)内的工具实现,其内核是借用Maple数学软件的。MATLAB的符号运算工具箱包含了微积分运算、化简和代换、解方程等几个方面的工具,其详细内容可通过MATLAB系统的联机帮助查阅,本节仅对它的常用功能做简单介绍。

◆◆

评论读取中....

请登录后再发表评论!

◆◆

修改失败,请稍后尝试

matlab求分段函数的值.,如何用MATLAB求分段函数的最小值和最大值?相关推荐

  1. Python 没有函数重载?如何用装饰器实现函数重载?

    摘要:Python 不支持函数重载.当我们定义了多个同名的函数时,后面的函数总是会覆盖前面的函数,因此,在一个命名空间中,每个函数名仅会有一个登记项(entry). 本文分享自华为云社区<为什么 ...

  2. matlab如何求传递函数的幅值_MATLAB通过传递函数求截止频率

    展开全部 可以用MATLAB画伯德图. 有两个函数可以画伯德图 一个是bode函数   格式是[mag,phase,w]=bode(G); G是构建好的系统,62616964757a686964616 ...

  3. matlab里面sin函数是角度,matlab-如何用matlab编写sin函数要求定义一 – 手机爱问

    2019-03-11 函数是什么? 三.函数的定义 定义 设 与 是某一过程中的两个变量,如果当变量 在变化范围 中任取一个数值时,变量 按照一定的对应规则,总有确定的数值和它相对应,则称变量 为变量 ...

  4. matlab引用数据,excel引用数据-如何用matlab处理excel文件中的数据?

    如何利用matlab根据excel表格里面的数据画图 将待导入的矩阵结数据Excel中,录入时注意行列原矩阵一一对应 录入完以后数据,为了后续步骤使用方便,命名时我们最好把它命名为我们接下来在MATL ...

  5. matlab鼠标三维坐标点,请问如何用matlab画三维点,已知x,y,z的坐标,在三维坐标系上显示...

    点击查看请问如何用matlab画三维点,已知x,y,z的坐标,在三维坐标系上显示具体信息 答:例如 : X=1,Y=2,Z=3; 代码就是: plot3(1,2,3,'*') grid on%加网格 ...

  6. 函数最值题目及答案_有关函数的极值与导数的测试题及答案

    有关函数的极值与导数的测试题及答案 一.选择题 1.已知函数f(x)在点x0处连续,下列命题中,正确的是() A.导数为零的点一定是极值点 B.如果在点x0附近的左侧f(x)0,右侧f(x)0,那么f ...

  7. 函数最值题目及答案_关于函数的习题及答案

    关于函数的习题及答案 1.(2010年高考天津卷)设a=log54,b=(log53)2,c=log45,则() A.a<c<b B.b<c<a C.a<b<c D ...

  8. r语言 c语言调用函数返回值,r语言中怎样查看函数源代码

    在R中,代码可以分为如下几个级别: ​首先,是你输入了函数对象名称,你可以直接看到代码的,如要获得函数对象fivenum的代码,就只需要在Console中键入函数对象名称fivenum就可以得到结果, ...

  9. Go语言函数作为 值 赋值给一个变量 和 函数作为参数传入另一个函数的写法你不想了解咩

    1.在Go语言中,函数也是可以作为值赋值给另一个变量的,代码如下: package mainimport "fmt"func function1() {fmt.Println(&q ...

最新文章

  1. python 学习 我推荐这本书,适合特别没有程序基础或者编程思维较差的人,
  2. android应用程序的自动更新升级(自身升级,通过tomcat),[SaltStack] Minion-conf自动更新...
  3. android item三种,Android RecyclerView中的ItemDecoration的几种绘制方法
  4. 北信源管理网页卸载密码_Homebrew: 一行代码实现mac软件管理
  5. 《CLIP2Video》-腾讯PCG提出CLIP2Video,基于CLIP解决视频文本检索问题,性能SOTA!代码已开源!...
  6. 循序渐进DB2 (第2版)——DBA系统管理、运维与应用案例
  7. MySql中执行 GROUP BY 分组 遇到 1055错误
  8. XX公司定制开发的仓库管理系统
  9. IEEE Spectrum:这些小机器人又好玩又实用,适合过年带回家
  10. jquery-pager的使用
  11. 程序员在服务器安“炸弹”格式化原公司内部资料!
  12. sw修改器初始化服务器错误,solidworks打开出现Loadlibrary failed with error 1114:动态链接库(DLL)初始化例程失败如何解决?...
  13. pdfminer识别pdf无法识别问题
  14. spurious wakeups(虚假唤醒)
  15. 设计模式-中介者模式
  16. 请不要“妖魔化”外包
  17. 香港服务器怎么加速?
  18. 空气能热水器的优惠价格在哪里找?
  19. concatenation 和 element-wise summation 该选哪个?
  20. freemarker之页面静态化

热门文章

  1. 穿越火线活动网页显示Java_Java设计模式-装饰模式:《穿越火线》RMB 玩家的快乐~...
  2. 谈谈自己对文件描述符的理解
  3. 淘宝 TOP 平台Open API入门篇
  4. 社区投稿 | DBLE 自定义拆分算法
  5. 西门子plc怎么转到c语言,西门子PLC梯形图和指令表相互转换
  6. 一款开源免费图床聚合平台 ImageHosting
  7. 网站漏洞检测之Discuz论坛 3.4版本
  8. Basler相机开发(一)
  9. 【软考】软件攻城狮考试(一)——总览
  10. 《护理管理学》习题及答案-考试版