问答文章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。

发布网友 发布时间:2024-09-29 15:22

我来回答

1个回答

热心网友 时间:2024-10-14 23:58

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实现》任玉杰
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
废旧手机电池堆环境危害大吗 毕业后怎样让自己的职业生涯顺利发展? 怎么让自己的职场生活变得更好? 信用卡还完了怎么还有账单?原因是什么? ...我查了一下以为是蚁跳蛛,但是,它只有6只脚,希... INTENSIV-CREME什么意思 windows2008怎么查看进程 现在中考美术大概考什么样的素描 初中艺考美术考什么 常德市祈利酒店位置_柳叶湖沙滩公园几点关门 一般建筑材料买卖合同违约怎么界定过错 民法典买卖合同不同于《合同法》的地方是什么? 合同签好后房东违约不卖怎么处理 天下贰全力魍魉60级装备选择 天下贰魍魉60战场散装 天下贰60魍魉路线,需要什么装备过渡继续升级,参加势力战什么。升级路... 天下贰的60级空蝉魍魉用什么武器好 天下贰魍魉六十级战场套都指哪几样装备,大约多少钱? 天下贰全力魍魉1-60升级方法 和装备选择 新中原天机营整点怪位置_百度... 天下贰魍魉这身装备叫什么 天下贰 全敏魍魉 60级应该穿什么装备啊 和拿什么武器 知道的告诉下_百 ... 茶叶蛋的做法及配料(茶叶蛋的做法及配料用什么茶叶) 龙猫和貂哪个好,夏天不要开空调养什么好 暗黑破坏神2毁灭之王 +7所有技能小护身符 一级人物存档 谁有...跪求... 请暗黑高手们来介绍一下这款游戏 2022款途观l380有颗粒捕捉器吗? 2022款途观l哪款没有颗粒捕捉器 为什么女人就是那么的麻烦啊?? 为什么女人最麻烦 女人为什么那么的麻烦 ...灵魂还有什么意义,还叫什么人生!女朋友说的这句话什么意 心情总是很不好 不爱说话 甚至讨厌说话 做什么都没有尽头 总是很困 想... 这个世界需要很多东西才能快乐。放弃它所需要的灵魂这句话的理解? 如何关闭iPhone的自动备份功能? 带“龙”字的成语寓言故事,不要是叶公好龙、画龙点睛之类的,急急急急... 九阳电饭煲eo怎么办 小学生校车与幼儿园校车区别 幼儿园校车买什么 幼儿园校车什么牌子好 求游戏名字,和兄弟玩梦幻西游,求两个有霸气,相似的游戏名字。好听... 和好兄弟一起玩梦幻西游,想改名字,要个家族名字,文艺点 或者 幽默点的... 莪和朋友玩梦幻西游,想取个清爽好听又看好的名字,加上符号.请大家帮忙... 求游戏名字,和兄弟玩梦幻,以 皓月 ?? 取四个字的,取两个有霸气的 ...姐妹们帮小弟想5个游戏名字吧!我们玩梦幻西游,(比如,super、暗影... 我的QQ密码正确为什么登录就说注意大小写 登陆QQ号,可登陆时出现了拒绝,提示是否密码错?分区大小写和开启小键盘... ...登陆,桌面提示:可能密码大小写字母不正确这是什么原因 涓嶅皬蹇冩妸姊ㄥ瓙姘村纰鍦ㄤ简琛f湇涓婏紝镐庝箞鍙�互娲% 修真高手现代游的txt全集下载地址 鏁戝懡锛屽悆妗斿瓙涓嶅皬蹇冩妸绉嶅瓙杩涗简姘旗�锛屽挸浜%_百... 大疆精灵4电池未装机,不小心按到电池开关按钮,一直亮着,如何关闭?_百度...