matlab二次多项式插值,MATLAB应用——多项式与插值函数
数学建模是用数学方法解决各种实际问题的桥梁,它已经渗透到各个领域,而且发挥出越来越重要的作用。面对自然科学和工程应用中的难题,大部分人无从入手,而个别人却能短时间内给出切实可行的解决方案,其差别往往在于驾驭数学知识的能力不同。现代计算机技术的应用不仅减少了计算错误,而且加强了数学应用者解决问题的能力。MATLAB是一款常用的数据处理软件,为了更好的应用MATLAB软件,我将整理好的MATLAB函数分享到今日头条上,以利己利人查阅。
本文详细介绍了MATLAB中的多项式与插值函数,涉及:多项式表式、多项式求根、特征多项式、多项式计算、卷积和去卷积运算、多项式求导、多项式曲线拟合、一维和二维插值函数。
1、多项式表示
在MATLAB中,多项式可用行矢量表示,其元素按幂指数降序排列,例如:
p(x)=x3-2x-5
可表示成
p=[1 0 -2 -5];
2、多项式的根
为求得多项式的根,即p(x)=0的解,可利用roots函数
p=[1 0 -2 -5];
r=roots(p)
r = 2.0946 -1.0473 + 1.1359i -1.0473 - 1.1359i
利用poly函数可从多项式的根中恢复出多项式
p2=poly(r)
p2 = 1.0000 0 -2.0000 -5.0000
3、特征多项式
poly函数还可以用于计算矩阵的特征多项式系数
A=[ 1 2 -1;3 4 5; -1 9 2];
poly(A)
ans = 1.0000 -7.0000 -38.0000 90.0000
4、多项式计算
polyval函数可计算出多项式在指定点处的值,例如:
y1=polyval(p,4)
y1 = 51
5、卷积和去卷积
多项式的乘和除对应于卷积和去卷积操作,这可由函数conv和deconv实现。例如,a(s)=s2+2s+3,b(s)=4s2+5s+6,则求c(s)=a(s)*b(s)时可输入
a=[1 2 3];
b=[4 5 6];
c=conv(a,b)
c = 4 13 28 27 18
通过多项式除法,可以得到c(s)/b(s)=q(s)+r(s)/b(s),这可由deconv函数求出
[q,r]=deconv(c, b)
q = 1 2 3
r = 0 0 0 0 0
6、多项式求导
polyder函数可用于求出单个多项式的导数,也可用于求两个多项式之积或之比的导数,这可由下列示例说明:
p=[1 0 -2 -5];
q=polyder(p)
q = 3 0 -2
a=[1 3 5];b=[2 4 6];
c=polyder(a,b)
c = 8 30 56 38
[q,r]=polyder(a,b)
q = -2 -8 -2
r = 4 16 40 48 36
最后求出了q(s)/r(s)为a(s)/b(s)的导数。
7、多项式曲线拟合
polyfit函数可在最小二乘意义下找出一多项式来拟合给定的一组数据。其调用格式为
p=polyfit(x,y,n)
其中,x, y为给定的数据,n为多项式阶次。例如,用三阶多项式来拟合下列数据:
x=[1 2 3 4 5];
y=[5.5 43.1 128 290.7 498.4];
p=polyfit(x,y,3);
x2=1:.1:5;
y2=polyval(p,x2);
figure(1)
plot(x,y,'o',x2,y2)
grid on
title('多项式曲线拟合')
8、一维内插
1)多项式内插
interpl函数可完成一维内插,其调用格式为
yi=interp1(x, y, xi, method)
其中,x,y为给定的数据对,xi为要内插的点矢量,method用于指定内插方法,可取
● ?nearest (最邻近内插):将内插点设置成最接近于已有数据点的值。
● ?1inear (线性内插):连接已有数据点作线性逼近。这是interpl函数的缺省设置。
● ?spline (三次样条内插):利用一系列样条函数获得内插数据点,从而确定已有数据点之间的函数。
● ?cubic(三次曲线内插):通过y拟合三次曲线函数,从而确定内插点的值。
以上这四种方法都要求x中的数据为单调,每种方法不要求x为均匀间隔,但如果x已经为均匀间隔,则在method之前加上*,可使执行速度加快。
这四种方法对执行速度、内存要求及得到的平滑度是不同的。总的说来,按nearest、linear、cubic、spline顺序,内存要求从小到大,执行速度由快到慢,平滑度由差到好。
2)基于FFT的内插
interpft完成基于FFT的一维内插,其调用格式为
y=interpft(x, n)
其中,x中包含等间隔取样的周期函数值,n为要求得到的点数。
9、二维内插
interp2函数用于完成二维内插,其调用格式为
Z1=interp2(X, Y, Z, XI, YI, method)
其中,method用于指定内插方法,可取nearest (最邻近内插)、bilinear (双线性内插)、spline (三次样条内插)、bicubic(二维三次曲线内插)。
为说明各种内插方法的效果,先产生一个7×7的数据矩阵,然后采用这三种方法进行内插,最后比较得到的结果。
% 产生低分辨率峰值函数
[x,y]=meshgrid(-3:1:3);
z=peaks(x,y);
% 定义内插点
[xi,yi]=meshgrid(-3:.25:3);
% %利用三种方法进行内插
zi1=interp2(x,y,z,xi,yi,'nearest');
zi2=interp2(x,y,z,xi,yi,'bilinear');
zi3=interp2(x,y,z,xi,yi,'bicubic');
% 绘出曲面图进行比较
figure(1)
subplot(2,2,1)
surf(x,y,z),title('原始数据曲线')
subplot(2,2,2)
surf(xi,yi,zi1),title('最邻近内插')
subplot(2,2,3)
surf(xi,yi,zi2),title('双线性内插')
subplot(2,2,4)
surf(xi,yi,zi3),title('二维三次曲线内插')
% 绘制轮廓图进行比较
figure(2)
subplot(2,2,1)
contour(x,y,z),title('原始数据曲线')
subplot(2,2,2)
contour(xi,yi,zi1),title('最邻近内插')
subplot(2,2,3)
contour(xi,yi,zi2),title('双线性内插')
subplot(2,2,4)
contour(xi,yi,zi3),title('二维三次曲线内插')
各位读者朋友,感谢您的阅读,您若对工程应用中的数学问题感兴趣,欢迎关注我,愿我们一起讨论和成长!!!
matlab二次多项式插值,MATLAB应用——多项式与插值函数相关推荐
- matlab 二维曲面插值,Matlab曲面拟合和插值
Matlab曲面拟合和插值 Matlab曲面拟合和插值 Matlab曲面拟合和插值2010-06-02 13:21插值和拟合都是数据优化的一种方法,当实验数据不够多时经常需要用到这种方法来画图.在ma ...
- 用Matlab求二次多项式,matlab二次多项式拟合
用matlab做散点的二次曲线拟合_数学_自然科学_专业资料.例 对下面一组数据作二次多项式拟合 xi 0.1 0.2 0.4 0.5 0.6 0.7 0.8 0.9 1 yi 1.978 ..... ...
- 二维插值-MATLAB
二维插值与MATLAB实例解析 一.插值节点为网格节点 二.插值节点为散乱节点 Addition: (1)学会查看matlab帮助文档 (2)matlab脚本类型 (3)matlab三维绘图函数 二维 ...
- matlab怎么输出插值,matlab插值方法0.ppt
matlab插值方法0 * 数学建模暑期培训 数 据 插 值 * 实验目的 实验内容 2.掌握用数学软件包求解插值问题. 1.了解插值的基本内容. [1]一维插值 [2]二维插值 [3]实验作业 * ...
- matlab griddata插值太慢,[转载]matlab二维插值--interp2与griddata
二者均是常用的二维插值方法,两者的区别是, interp2的插值数据必须是矩形域(X,Y必须分别是单调向量),即已知数据点(x,y)组成规则的矩阵,或称之为栅格,可使用meshgid生成. gridd ...
- matlab 二维插值 验证,科学网-利用MATLAB对非矩形域实现二维插值-张乐乐的博文...
>> load('x1.mat'); >> load('y1.mat') >> load('T.mat'); >> load('Lon.mat'); & ...
- matlab 台风数据插值,matlab画台风轨迹图小tip
关于台风轨迹图,这次由于作业需要就画了一幅轨迹图,参考原图选自论文: LIU Zenghong, XU Jianping, SUN Chaohui, WU Xiaofen. An upper ocea ...
- matlab二维色图,matlab二维矩阵用颜色图像显示 + 色bar位置
需求:二维矩阵用颜色图像显示:并且将对应的colorbar放置在图像的下面,并且要为"colorbar加标题"! A = zeros(1000,1000); % 假设有这样的一个1 ...
- 插值与拟合 (一) : 拉格朗日多项式插值 、Newton插值 、分段线性插值、Hermite插值 、样条插值、 B 样条函数插值、二维插值
插值:求过已知有限个数据点的近似函数. 拟合:已知有限个数据点,求近似函数,不要求过已知数据点,只要求在某种意义下它在这些点上的总偏差最小. 插值和拟合都是要根据一组数据构造一个函数作为近似,由于近似 ...
最新文章
- Linux netstat查看网络连接信息
- boost::mp11::mp_replace_third相关用法的测试程序
- 程序员的职业技能不止于敲代码!
- 排序算法--选择排序
- 经典原型链、继承解析
- 2021年安全员-C证(安徽省)考试试卷及安全员-C证(安徽省)试题及解析
- 小杯子微信多开 双开共存版 ios8.0微信版本6.0免费获取了
- 【GlobalMapper精品教程】008:如何根据指定区域(shp、kml、cad)下载卫星影像?
- 如何带移动技术团队?
- API设计指南-RestAPI设计最佳实践
- 布隆过滤器学习笔记——《Learned Bloom Filters in Adversarial Environments:A Malicious URL Detection Use-Case》
- 成功解决无法写入输出文件,此实现不是Windows平台FIPS验证加密算法的一部分
- 【springcloud问题】Could not locate PropertySource and the fail fast property is set, failing
- 根据ebp/rbp/fp获取backtrace
- python xlsx文件与csv文件转换
- typec耳机知识介绍-数字耳机,模拟耳机
- Alibaba Cloud Toolkit —— 项目一键部署工具
- MCM/ICM(美国大学生数学建模竞赛)报名指南
- android 下载txt文件恢复,牛学长安卓数据恢复(UltData - Android)
- 传智播客设计学院简介网页代码