- 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程序与数值实验
一、 插值法(课本第二章)
1、拉格朗日插值方法
function s=lag(x,y,t)
%拉格朗日插值方法,可以同时对多点插值,t可以为向量
syms p;
n=length(x);%读取x向量的维数
s=0;
for(k=1:n)
la=y(k);
%构造基函数
for(j=1:k-1)
la=la*(p-x(j))/(x(k)-x(j));
end;
for(j=k+1:n)
la=la*(p-x(j))/(x(k)-x(j));
end;
s=s+la;
simplify(s);
end
if(nargin==2)
s=subs(s,p,x);
s=collect(s);%展开多项式
s=vpa(s,6);
else
m=length(t);
for i=1:m
temp(i)=subs(s,p,t(i));
end
s=temp;
End
%for example
% x=[pi/4 pi/6 pi/3 pi/2];
%y=[cos(pi/4) cos(pi/6) cos(pi/3) cos(pi/2)];
%t=[-40*pi/180 40*pi/180 50*pi/180 70*pi/180 170*pi/180];
%yt=lag(x,y,t)
2、牛顿插值法
function s=niudun(x,y,t)
%,可以同时对多点插值,即t可以为向量
syms p;
s=y(1);
xishu=0;
dxs=1;
n=length(x);%读取x向量的维数
%构造牛顿插值方法
for (i=1:n-1)
for(j=i+1:n)
xishu(j)=(y(j)-y(i))/(x(j)-x(i));
end
temp1(i)=xishu(i+1);
dxs=dxs*(p-x(i));
s=s+temp1(i)*dxs;
y=xishu;
end
simplify(s)
if (nargin==2)
s=subs(s,p,x);
s=collect(s);
s=vpa(s,4);
else
%读取要插值点的向量长度
%可以直接对多点插值机算
m=length(t);
for i=1:m
temp(i)=subs(s,p,t(i));
end
%得到的是系列插值点的插值结果,即得到的是向量,赋值给s
s=temp;
end
%for example
%1、已知零阶Bessel函数f(x)在若干点处的函数值为:计算x在1.5处的近似值
%x=[1.0 1.3 1.6 1.9 2.2];
%y=[0.7651977 0.6200860 0.4554022 0.2818186 0.1103623];
%yt=niudun(x,y,1.5)
插值中的Runge现象
syms x
f=1/(1+x^2);
x=-5:5;
y=subs(f,x);
chazhi=niudun(x,y);
v=[-5,5,-0.5,2];
ezplot(chazhi),axis(v),grid
hold on
t=-5:0.05:5;
yt=subs(f,t);
plot(t,yt,’:’)
4、Hermite插值
function f=Hermite(x,y,dy,t)
%Hermite插值,x为插值节点,y为插值节点的函数值,dy为插值节点的一阶导数值,t为被插数据,可以为向量
n=length(x);
m=length(t);
for k=1:m
g(k)=0.0;
for i=1:n
la=1;
lp=0.0;
for j=1:n
if (j~=i)
la=la*(t(k)-x(j))/(x(i)-x(j));
lp=lp+1/(x(i)-x(j));
end
end
temp1=1-2*(t(k)-x(i))*lp;
temp2=y(i)*temp1*la^2;
temp3=dy(i)*(t(k)-x(i))*la^2;
g(k)=g(k)+temp2+temp3;
end
end
f=g;
%fo
您可能关注的文档
- 厨房里的化学 复习课.ppt
- 勘探原理第五章.ppt
- 医学免疫学与微生物学04任务0003.doc
- 医学影象总结.doc
- 反应工程答案.doc
- 园林艺术概论十七.doc
- 哈尔滨医科大学2006级五年制系统解剖学考试题A.doc
- 各国法兰标准flange standard(按住Ctrl+单击可看详细).doc
- 国际疾病分类肿瘤学专辑.ppt
- 国际疾病分类肿瘤学专辑第3版应用.ppt
- MR医师技师上岗培训考试模拟试题.doc
- 2014届高三数学一轮复习 (基础知识+小题全取+考点通关+课时检测)7.4垂直关系课件 新人教A版.ppt
- 2015年初级中药士考试考前模拟试题二(专家预测).doc
- 2014届高三数学一轮复习 基础知识+小题全取+考点通关+课时检测)6.6综合法与分析法、反证法课件 新人教A版.ppt
- 2015-2016学年江苏省盐城市高二上学期学业水平必修科目期终考试 化学.doc
- 2015年初级护师考试考前模拟全真试卷九附答案解析.doc
- 2015年小儿外科学卫生中级职称考试人机对话实践能力模拟试题(专业代码322).doc
- 2015年医学高级职称考试烧伤外科学练习题及答案.doc
- 2014届高三数学一轮复习 基础知识+小题全取+考点通关+课时检测7.2空间图形的基本关系与公理课件 新人教A版.ppt
- 2015年心血管内科学主治医师考试模拟题库及答案.doc
原创力文档


文档评论(0)