实验十.欧拉法MATLAB实现-创新互联
实验内容 成都创新互联是一家专注网站建设、网络营销策划、微信小程序定制开发、电子商务建设、网络推广、移动互联开发、研究、服务为一体的技术型公司。公司成立十载以来,已经为成百上千家隧道混凝土搅拌车各业的企业公司提供互联网服务。现在,服务的成百上千家客户与我们一路同行,见证我们的成长;未来,我们一起分享成功的喜悦。 | 1.分别编写M函数实现求解欧拉法的向前、向后、改进欧拉法,以及二阶、四阶龙格-库塔方法。并利用这五个函数求解方程: ,做表(或图)比较。 |
实 验 步 骤、过 程
1.
求出其特解为
(1)欧拉法的向前、向后、改进欧拉法
编制函数文件:
function [y1,y2,y3,y4]=su(a,b,k)
% a起始点,b迭代终止点,h=(b-a)/k
h=(b-a)/k;x=a:h:b;[m,n]=size(x);
y1=zeros(m,n);y2=zeros(m,n);y3=zeros(m,n);
y1(1)=1;y2(1)=1;y3(1)=1;
for i=1:n-1 %向前欧拉法
x1=x(i);x2=x(i+1);
y1(i+1)=y1(i)+h*((3*(x1).^2-2)*y1(i)/(x1).^3+1);
end
for i=1:n-1 %向后欧拉法
x1=x(i);x2=x(i+1);
yy=y2(i)+h*((3*(x1).^2-2)*y2(i)/(x1).^3+1);
y2(i+1)=y2(i)+h*((3*(x1)^2-2)*yy/(x1).^3+1);
end
for i=1:n-1 %改进欧拉法
x1=x(i);x2=x(i+1);
z1=(3*(x1).^2-2)*y1(i)/(x1).^3+1;
yy=y3(i)+h*z1;
z2=(3*(x1).^2-2)*yy/(x1).^3+1;
y3(i+1)=y3(i)+h*0.5*(z1+z2);
end
for i=1:n %精确值
y4(i)=((x(i))^3*(1-exp((x(i))^(-2)-1)))/2;
end
命令窗口下执行:
>>[y1,y2,y3,y4]=su(pi,2*pi,5)
(2)二阶、四阶龙格-库塔方法
题目可转化为:
编制函数文件:
function f=su(x,y)
f=(3*x^2-2)*y/(x^3)+1
命令窗口下执行:
>>[x,y]=ode23('su',[pi,2*pi],1);[x',y']
>>[x,y]=ode45('su',[pi,2*pi],1);[x',y']
答案供参考,如有错误请自行改正,本人只是随意分享之前的作业,代码均来源于网络+个人稍微修改,认为有用可参考哈~
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
分享标题:实验十.欧拉法MATLAB实现-创新互联
转载来于:http://scyanting.com/article/dgeood.html