问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用三阶Adams内插法及外插法分别解初值问题u'=-5u,u(0)=1。

发布网友 发布时间:2022-04-14 21:25

我来回答

2个回答

热心网友 时间:2022-04-14 22:54

MATLAB程序如下,把每个分块程序单独保存文件,运行MyFun,命令框输入“MyFun(@fun,0,1,1,0.1)”,步长把0.1改为0.05即可,程序中Adams是四阶的,三阶Adams可以将插值公式对应项及其系数改为三阶的,循环从3开始
%%Adams内插法
function [X,Y]=Adams4nei(fun,x0,b,y0,h)
x=x0;
y=y0;
p=128;
n=fix((b-x0)/h);
if n<5
return
end
X=zeros(p,1);
Y=zeros(p,length(y));
f=zeros(p,1);
k=1;
X(k)=x;
Y(k,:)=y';
%RK4求初值
for k=2:4
b2=1/2;b3=1/2;b4=1;
x1=x+1/2*h;x2=x+1/2*h;x3=x+h;k1=feval(fun,x,y);
y1=y+b2*h*k1;k2=feval(fun,x1,y1);
y2=y+b3*h*k2;k3=feval(fun,x2,y2);
y3=y+b4*h*k3;k4=feval(fun,x3,y3);
y=y+1/6*h*(k1+2*k2+2*k3+k4);
x=x+h;
X(k)=x;
Y(k,:)=y;
k=k+1;
end
X;Y;f(1:4)=feval(fun,X(1:4),Y(1:4));
%内插公式
for k=4:n
f(k+1)=feval(fun,X(k),Y(k));
X(k+1)=X(1)+h*k;
Y(k+1)=Y(k)+(h/24)*((f(k-2:k+1))'*[1 -5 19 9]');
f(k+1)=feval(fun,X(k+1),Y(k+1));
f(k)=f(k+1);
k=k+1;
end
X=X(1:n+1);Y=Y(1:n+1);n=1:n+1;
%%Adams外插法
function [X,Y]=Adams4wai(fun,x0,b,y0,h)
x=x0;
y=y0;
p=128;
n=fix((b-x0)/h);
if n<5
return
end
X=zeros(p,1);
Y=zeros(p,length(y));
f=zeros(p,1);
k=1;
X(k)=x;
Y(k,:)=y';
%RK4求初值
for k=2:4
b2=1/2;b3=1/2;b4=1;
x1=x+1/2*h;x2=x+1/2*h;x3=x+h;k1=feval(fun,x,y);
y1=y+b2*h*k1;k2=feval(fun,x1,y1);
y2=y+b3*h*k2;k3=feval(fun,x2,y2);
y3=y+b4*h*k3;k4=feval(fun,x3,y3);
y=y+1/6*h*(k1+2*k2+2*k3+k4);
x=x+h;
X(k)=x;
Y(k,:)=y;
k=k+1;
end
X;Y;f(1:4)=feval(fun,X(1:4),Y(1:4));
%外插公式
for k=4:n
f(k)=feval(fun,X(k),Y(k));
X(k+1)=X(1)+h*k;
Y(k+1)=Y(k)+(h/24)*((f(k-3:k))'*[-9 37 -59 55]');
f(k+1)=feval(fun,X(k+1),Y(k+1));
f(k)=f(k+1);
k=k+1;
end
X=X(1:n+1);Y=Y(1:n+1);n=1:n+1;
%%Euler法
function [X,Y]=Euler2(fun,x0,b,y0,h)
x=x0;
n=fix((b-x)/h);
X=zeros(n+1,1);
y=y0;
Y=zeros(n+1,1);
k=1;
X(k)=x;
Y(k)=y';
for k=2:n+1
X(k)=x+(k-1)*h;
fxy=feval(fun,x,y);
Y(k)=y+h*fxy;
y=Y(k);
k=k+1;
end
%%dy/dx=f(x,y)型微分方程
function dy=fun(x,y)
dy=-5*y;
%%四种方法结算结果与解析解比较,fun为f(x,y),x0,y0满足初值条件y(x0)=y0,b是x的上界,h为步长
function MyFun(fun,x0,b,y0,h)
[x1,y1]=Adams4wai(fun,x0,b,y0,h);
[x2,y2]=Adams4nei(fun,x0,b,y0,h);
[x3,y3]=Euler2(fun,x0,b,y0,h);
[x4,y4]=Euler2gaijin(fun,x0,b,y0,h);
y=dsolve('Dy=-5*y','y(0)=1','t');%解析解
plot(x1,y1,'r*','markersize',10)
hold on
plot(x2,y2,'r.','markersize',10)
hold on
plot(x3,y3,'o','markersize',10)
hold on
plot(x4,y4,'h','markersize',10)
hold on
ezplot(y,[0 1])
hold on
title('三阶Adams内插法、外插法、Euler法及改进Euler法解初值问题结果比较')
legend('Adams外插法','Adams内插法','Euler法','改进Euler法','精确解')
--参考《数值分析及其MATLAB实现》任玉杰
用三阶Adams内插法及外插法分别解初值问题u'=-5u,u(0)=1。

X;Y;f(1:4)=feval(fun,X(1:4),Y(1:4));外插公式 for k=4:n f(k)=feval(fun,X(k),Y(k));X(k+1)=X(1)+h*k;Y(k+1)=Y(k)+(h/24)*((f(k-3:k))'*[-9 37 -59 55]');f(k+1)=feval(fun,X(k+1),Y(k+1));f(k)=f(k+1);k=k+1;end X=X(1:...

...的Adamas方法求解下列微分方程的初值问题(用四阶Runge-Kutta方法提供...

disp(' 步长 Adams四步四阶显式法 准确值');disp([X',Y',df']);%画图观察效果figure;plot(X,df,'k*',X,Y,'--r');grid on;title('Adams四步四阶显式法解常微分方程');legend('准确值','Adams四步四阶显式法'); 程序运行结果: 步长Adams四步四阶显式法 准确值 0 1.000000000000000 1.00000000...

matlab程序ode45

一、常用格式:[t,y]=ode45(odefun,tspan,y0)参数说明: odefun:用以表示f(t,y)的函数句柄或inline函数,t是标量,y是标量或向量。 tspan:如果是二维向量[t0,tf],表示自变量初值t0和终值tf;如果是高维向量[t0,t1,…,tn],则表示输出节点列向量。 y0:表示初始向量y0。 t:表示节点列向量(t0...

matlab ode45用法

ode45表示采用四阶-五阶Runge-Kutta算法,它用4阶方法提供候选解,5阶方法控制误差,是一种自适应步长(变步长)的常微分方程数值解法,其整体截断误差为(Δx)^5。解决的是Nonstiff(非刚性)常微分方程。ode45语法:[T,Y] = ode45(odefun,tspan,y0)[T,Y] = ode45(odefun,tspan,y0,options)[T...

求一篇数值线性代数的课程设计!急!!!(要求含有Matlab程序)

�6�1 欧拉法是一阶公式,改进的欧拉法是二阶公式。�6�1 龙格-库塔法有二阶公式和四阶公式。�6�1 线性多步法有四阶阿达姆斯外插公式和内插公式 (三)用Matlab软件求常微分方程的数值解 [t,x]=solver(’f’,ts,x0,options)注意:1、在解n个未知函数的方程组时,x0和x均为n维向量,m-...

内插法与插值法区别 内插法和插值法 外推法和内插法 二阶微商内插法公式 二阶微商内插法如何求滴定终点 内插法例题 直接内插法 什么是直线内插法 双内插法
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
牙龈上张一个脓包都半年了,现在每隔一两天就会张。而且是在同一个位 ... 怎么注销京东金融的白条呀? 我手指有十个圈圈,代表什么呢? word怎么复制一页一样的内容? 微信运动是怎么计算出来的? 如何把整页的word都复制下来? 屋里油漆味太重怎么办 淘宝开店做什么好? 猫咪取网名? 有关猫咪的网名有哪些? 我家的大馒头表面为什么蒸熟以后都裂开了。 成都公交卡刷地铁可以刷多人么 原始wxid怎么加好友 只有原始id,怎么加微信? 只知道原始怎么加好友 如何改自己的微信原始 怎么通过原始id找到- 问一问 只有原始id,怎么加微信? 请问如何保存qq聊天记录 原始wxid怎么加好友 QQ聊天记录如何保存 原始wxid怎么加好友 想搜朋友,只有他,但是是原始,怎么加他? 5道关于有理数的题目,要求有详细解答~ 我想制作一张有姓名1到12月份的Word表格怎么制 在Word文档里插入一个关于姓名的表格,怎样把那些名字按姓氏比划的顺序调... 美的燃气壁挂炉,如何自主清洗啊? 炀面饺子做法 矿源黄腐酸钾的正确用量? 什么是黄腐酸? 好侍百梦多咖喱 用好侍百梦多做咖喱猪排饭的话要放几块咖喱比较合适? 来问问各位厨艺达人,你们知道好侍百梦多咖喱做法吗? 麻烦各位给我科普下好侍百梦多咖喱做法吧? 好侍百梦多咖喱可以包包子吗 用好侍百梦多咖喱,你们能做出哪些咖喱呀? 好侍百梦多原味咖喱做咖喱饭的所有步骤 求详细! 请问用好侍百梦多咖喱做出来的咖喱饭,好吃吗? 电工学电路分析习题,求电压U5 万壮牛筋丸 银行卡或支付宝的地址能不能改 您好我想知道信用卡得年费,和消费利息,怎么了算得,求解 支付宝添加的那些不常用的银行卡如何移徐 怎样更改支付宝绑定的银行卡啊? 今晚不看月亮是什么意思 中行信用卡利息怎么算的,还有年算怎么算的? 信息工程(系统方向)专业找工作时可以应聘哪些职位? 我对男友说&quot;我想你了&quot; 他说&quot;可惜今晚没有月亮&quot; 什么意思呢? 信用卡的年费,利息费是怎样的??? 因为今晚没有月亮,连星星也黯淡无光是什么意思?