王能超 计算方法 - 算法设计及MATLAB实现课后代码资料
更新时间:2023-09-20 15:28:01 阅读量: 医药卫生 文档下载
- 王能超推荐度:
- 相关推荐
第一章 插值方法 1.1 Lagrange插值 1.2 逐步插值
1.3 分段三次Hermite插值 1.4 分段三次样条插值
第二章 数值积分 2.1 Simpson公式 2.2 变步长梯形法 2.3 Romberg加速算法 2.4 三点Gauss公式
第三章 常微分方程德差分方法 3.1 改进的Euler方法 3.2 四阶Runge-Kutta方法 3.3 二阶Adams预报校正系统
3.4 改进的四阶Adams预报校正系统
第四章 方程求根 4.1 二分法 4.2 开方法
4.3 Newton下山法 4.4 快速弦截法
第五章 线性方程组的迭代法 5.1 Jacobi迭代
5.2 Gauss-Seidel迭代 5.3 超松弛迭代 5.4 对称超松弛迭代
第六章 线性方程组的直接法 6.1 追赶法
6.2 Cholesky方法 6.3 矩阵分解方法
6.4 Gauss列主元消去法
1
第一章 插值方法 1.1 Lagrange插值
计算Lagrange插值多项式在x=x0处的值. MATLAB文件:(文件名:Lagrange_eval.m) function [y0,N]= Lagrange_eval(X,Y,x0) %X,Y是已知插值点坐标 %x0是插值点
%y0是Lagrange插值多项式在x0处的值 %N是Lagrange插值函数的权系数 m=length(X); N=zeros(m,1); y0=0; for i=1:m N(i)=1; for j=1:m if j~=i;
N(i)=N(i)*(x0-X(j))/(X(i)-X(j)); end end
y0=y0+Y(i)*N(i); end
用法》X=[…];Y=[…];
》x0= ;
》[y0,N]= Lagrange_eval(X,Y,x0)
1.2 逐步插值
计算逐步插值多项式在x=x0处的值. MATLAB文件:(文件名:Neville_eval.m)
function y0=Neville_eval(X,Y,x0)
%X,Y是已知插值点坐标 %x0是插值点
%y0是Neville逐步插值多项式在x0处的值 m=length(X); P=zeros(m,1); P1=zeros(m,1); P=Y; for i=1:m P1=P; k=1;
for j=i+1:m k=k+1;
2
P(j)=P1(j-1)+(P1(j)-P1(j-1))*(x0-X(k-1))/(X(j)-X(k-1)); end
if abs(P(m)-P(m-1))<10^-6; y0=P(m); return; end end
y0=P(m);
用法》X=[…];Y=[…];
》x0= ;
》y0= Neville_eval(X,Y,x0)
1.3 分段三次Hermite插值
利用分段三次Hermite插值计算插值点处的函数近似值. MATLAB文件:(文件名:Hermite_interp.m)
function y0=Hermite_interp(X,Y,DY,x0) %X,Y是已知插值点向量序列 %DY是插值点处的导数值 %x0插值点横坐标
%y0为待求的分段三次Hermite插值多项式在x0处的值 %N向量长度 N=length(X); for i=1:N
if x0>=X(i)&& x0<=X(i+1) k=i; break; end end
a1=x0-X(k+1); a2=x0-X(k);
a3= X(k)- X(k+1);
y0=(a1/a3)^2*(1-2*a2/a3)*Y(k)+(-a2/a3)^2*(1+2*a1/a3)*Y(k+1)+... (a1/a3)^2*a2*DY(k)+(-a2/a3)^2*a1*DY(k+1); 用法》X=[…];Y=关于X的函数;DY=Y’;
》x0=插值横坐标;
》y0==Hermite_interp(X,Y,DY,x0)
1.4 分段三次样条插值
计算在插值点处的函数值,并用来拟合曲线. MATLAB文件:(文件名:Spline_interp.m)
function [y0,C]=Spline_interp(X,Y,s0,sN,x0)
3
%X,Y是已知插值坐标
%s0,sN是两端点的一次导数值 %x0是插值点
%y0三次样条函数在x0处的值 %C是分段三次样条函数的系数 N=length(X);
C=zeros(4,N-1); h=zeros(1,N-1); mu=zeros(1,N-1); lmt=zeros(1,N-1);
d=zeros(1,N); %d表示右端函数值 h=X(1,2:N)-X(1,1:N-1); mu(1,N-1)=1; lmt(1,1)=1;
mu(1,1:N-2)=h(1,1:N-2)/(h(1,1:N-2)+h(1,2:N-1)); lmt(1,2:N-1)=h(1,2:N-1)/(h(1,1:N-2)+h(1,2:N-1)); d(1,1)=6*((Y(1,2)-Y(1,1))/h(1,1)-s0)/h(1,1);
d(1,N)=6*(sN-(Y(1,N)-Y(1,N-1))/h(1,N-1))/h(1,N-1); d(1,2:N-1)=6*((Y(1,3:N)-Y(1,2:N-1))/h(1,2:N-1)…
(Y(1,2:N-1)-Y(1,1:N-2))/h(1,1:N-2))/(h(1,1:N-2)+h(1,2:N-1)); %追赶法解三对角方程组 bit=zeros(1,N-1); bit(1,1)=lmt(1,1)/2; for i=2:N-1
bit(1,i)=lmt(1,i)/(2-mu(1,i-1)*bit(1,i-1)); end
y=zeros(1,N); y(1,1)=d(1,1)/2; for i=2:N
y(1,i)=(d(1,i)-mu(1,i-1)*y(1,i-1))/(2-mu(1,i-1)*bit(1,i-1)); end
x=zeros(1,N); x(1,N)=y(1,N); for i=N-1:-1:1
x(1,i)=y(1,i)-bit(1,i)*x(1,i+1); end
v=zeros(1,N-1);
v(1,1:N-1)=(Y(1,2:N)-Y(1,1:N-1))/h(1,1:N-1); C(4,:)=Y(1,1:N-1);
C(3,:)=v-h*(2*x(1,1:N-1)+x(1,2:N))/6; C(2,:)=x(1,1:N-1)/2;
C(1,:)=(x(1,2:N)-x(1,1:N-1))/(6*h); if nargin<5 y0=0; else
for j=1:N-1
4
if x0>=X(1,j)& x0 y0=((C(4,j)*omg+C(3,j))omg+C(2,j))*omg+C(1,j); end end end 算例1:给定数据表: Xi 0.25 yi 0.5000 0.30 0.5477 0.39 0.6245 0.45 0.6708 0.53 0.7280 试求三次样条插值函数S(x),其中:S’(0.25)=1.0000,S’(0.53)=0.6868. 解:X=[0.25,0.30,0.39,0.45,0.53];Y=[0.5000,0.5477,0.6254,0.6708,0.7280]; s0=1.0000;sN=0.6868; [y0,C]=Spline_interp(X,Y,s0,sN,x0); plot(0.25:0.01:0.30,polyval(C(:.1),0:0.01:0.05),’r-.’); hold on plot(0.30:0.01:0.39,polyval(C(:.2),0:0.01:0.09),’b’); plot(0.39:0.01:0.45,polyval(C(:.3),0:0.01:0.06),’k-*’); plot(0.45:0.01:0.53,polyval(C(:.4),0:0.01:0.08)); 第二章 数值积分 2.1 Simpson公式 利用复化Simpson公式求被积函数f(x)在给定区间上的积分值. MATLAB文件:(文件名:FSimpson.m) function S=FSimpson(f,a,b,N) %f表示被积函数句柄 %a,b表示被积区间端点 %N表示区间个数 %S是用复化Simpson公式求得的积分值 h=(b-a)/N; fa=feval(f,a); fb=feval(f,b); S=fa+fb; x=a; for i=1:N x=x+h/2; fx=feval(f,x); S=S+4*fx; x=x+h/2; fx=feval(f,x); S=S+2*fx; end S=h*S/6; 5
正在阅读:
王能超 计算方法 - 算法设计及MATLAB实现课后代码资料09-20
家长工作重点05-30
南宁市低压电工作业理论考试题库05-28
python 语法教程讲义10-16
3-4人为一组的团队合作激励人心的小游戏02-17
山东省滕州市第三中学2015届高三上学期第四次月考试题01-15
关于温州大学生自主创业的调研报告10-16
07 微生物的遗传变异和育种11-28
第四篇 第四章 胃炎05-28
- 物机部岗位职责
- 关于拟吸收王亦凡等3位同志为中共预备党员的公示
- 口语及书面语练习答案
- 苜蓿苗种植方法
- (论述)人与自然的关系
- 镇党委扩大会议纪要
- 拳击理论试题及答案
- 数据结构1-4章习题答案
- 传感器实验
- 第一节 不定积分的概念与性质
- 2018-2019年初中语文北京中考诊断考试试卷含答案考点及解析
- 聚焦2017年中考数学 考点 第1章 数与式 跟踪突破5 二次根式及其运算试题
- 护理记录缺陷案例分析及对策
- AD域的5大架构
- 试论科学发展观与城市政府职能转变
- 海南师范大学办公室关于做好2013届师范类专业毕业生教师资格认定工作的通知
- 直运业务流程(用友)
- 2013年初中物理复习要点(沪科版)有习题的
- 南昌航空大学2013-2014学年第一学期概率答案
- 2014世界杯32强球员名单 - 图文