- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
插值实验讲义 计算方法课件及实验 教学课件
与插值有关的MATLAB 函数
预备知识:matlab多项式计算
在matlab里,多项式由一个行向量表示,它的系数是按降序排列。
例如,输入多项式x4-12x3+0x2+25x+116
? p=[1 -12 0 25 116]
注意,必须包括具有零系数的项。除非特别地辨认,MATLAB无法知道哪一项为零。给出这种形式,用函数roots找出一个多项式的根。
r=roots(p)
结果:
r =11.7473
2.7028
-1.2251 + 1.4672i
-1.2251 - 1.4672i
在MATLAB中,无论是一个多项式,还是它的根,都是向量,MATLAB按惯例规定,多项式是行向量,根是列向量。
(一) poly函数 求多项式的系数(由已知根求多项式的系数)
调用格式:Y = poly (V)
X1=[1,2]; l1=poly(X1),
l1=[ 1 -3 2]
(二) poly2sym函数 将多项式系数向量转为解析式形式
调用格式:poly2sym (C)
poly2sym(l1)
ans =
x^2 - 3*x + 2
(三) polyval函数 给定多项式求值Y = polyval(P,X)
polyval(l1,2)
ans = 0
(四) conv函数 求多项式相乘后的多项式系数。(执行两个数组的卷积)
调用格式:poly2sym (C)
例如 求(x^2 - 3*x + 2)* (x-3)
l1=[ 1 -3 2];
l2=[ 1 -3];
l=conv(l1,l2)
结果l = 1 -6 11 -6
poly2sym(l)
结果ans =x^3 - 6*x^2 + 11*x – 6
poly([1,2,3])
结果ans = 1 -6 11 -6
(五) 其它多项式函数
deconv(a,b)—多项式除法
polyder(p)—多项式求导
1.2拉格朗日(Lagrange)插值及其MATLAB程序
1.2.1 线性插值及其MATLAB程序
例6.2.1 已知函数在上具有二阶连续导数,,且满足条件.求线性插值多项式和函数值,并估计其误差.
解 输入程序
X=[1,3];Y=[1,2];
l01= poly(X(2))/( X(1)- X(2));
l11= poly(X(1))/( X(2)- X(1));
l0=poly2sym (l01),
l1=poly2sym (l11)
P = l01* Y(1)+ l11* Y(2),
L=poly2sym (P),
x=1.5; Y = polyval(P,x)
运行后输出基函数l0和l1及其插值多项式的系数向量P(略)、插值多项式L和插值Y为
l0 = l1 = L = Y =
-1/2*x+3/2 1/2*x-1/2 1/2*x+1/2 1.2500
输入程序
M=5;R1=M*abs((x-X(1))* (x-X(2)))/2
运行后输出误差限为
R1 = 1.8750
1.2.2 拉格朗日多项式和基函数的MATLAB程序
求拉格朗日插值多项式和基函数的MATLAB主程序
function [C, L,L1,l]=lagran1(X,Y)
m=length(X); L=ones(m,m);
for k=1: m
V=1;
for i=1:m
if k~=i
V=conv(V,poly(X(i)))/(X(k)-X(i));
end
end
L1(k,:)=V; l(k,:)=poly2sym (V)
end
C=Y*L1;L=Y*l
例1.2 给出节点数据,,,, ,,作五次拉格朗日插值多项式和基函数,并写出估计其误差的公式.
解 在MATLAB工作窗口输入程序
X=[-2.15 -1.00 0.01 1.02 2.03 3.25];
Y=[17.03 7.24 1.05 2.03 17.06 23.05];
[C, L ,L1,l]= lagran1(X,Y)
运行后输出五次拉格朗日插值多项式L及其系数向量C,基函数l及其系数矩阵L1如下
C =
-0.2169 0.0648 2.1076 3.3960 -4.5745 1.0954
L =
1.0954-4.5745*x+3.3960*x^2+2.1076*x^3+0.0648*x^4-0.2169*x^5
L1 =
-0.0056 0.0299 -0.
您可能关注的文档
最近下载
- 1.1_犬的起源、进化与特征.ppt VIP
- 2024高考语文考前精刷卷专题十四文学类文本阅读散文.docx VIP
- 大学语文之诗经电子教案.doc VIP
- 高校生活超市和24小时便利店租赁经营投标常用方案(最全).doc VIP
- 15J001 围墙大门图集标准.docx VIP
- 双向搅拌桩加固高速公路软土地基现场对比试验研究.pdf VIP
- 铁道概论:铁路信号和通信PPT教学课件.pptx VIP
- 《医学微生物学》课件——细菌的形态与结构.ppt VIP
- 贵州丹寨金汞矿日处理500吨(一期250吨)金汞原矿浮选生产线技改项目环境影响报告书.pdf VIP
- 大一新生班干部竞选演讲稿PPT.pptx VIP
文档评论(0)