- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
matlab求微分方程的解实验报告4
《matlab与数学实验》实验报告
实验序号: 实验四 日期: 2015年 5 月 25 日
班级 132132002姓名 彭婉婷学号 1321320057实验名称 求微分方程的解
问题背景描述实际应用问题通过数学建模所归纳而得到的方程,绝大多数都是微分方程,另一方面,能够求解的微分方程也是十分有限的,特别是高阶方程和偏微分方程(组).这就要求我们既要研究微分方程(组)的解析解法(精确解),更要研究微分方程(组)的数值解法(近似解).实验目的本实验将主要研究微分方程(组)的数值解法(近似解),重点介绍 Euler 折线法.实验原理与数学模型MATLAB7.11.0主要内容(要点)1. 求微分方程的通解.
2. 求微分方程的通解.
3. 求微分方程组
在初始条件下的特解,并画出解函数的图形.
4. 分别用 ode23、ode45 求上述第 3 题中???微分方程初值问题的数值解(近似解),求解区间为.利用画图来比较两种求解器之间的差异.
5. 用 Euler 折线法求解微分方程初值问题
的数值解(步长h取0.1),求解范围为区间[0,2].
选做:
6. 用四阶 Runge-Kutta 法求解微分方程初值问题
的数值解(步长h取0.1),求解范围为区间[0,3].迭代法
实验过程记录(含基本步骤、主要程序清单及异常情况记录等)求微分方程的通解.
程序:
clear
syms x y
y=dsolve((x^2-1)*Dy+2*x*y=sin(x),x)
答案:y =-(C2 + cos(x))/(x^2 - 1)
求微分方程的通解.
程序:
clear
syms x y
y=dsolve(D2y-2*Dy+5*y=exp(x)*sin(x),x)
simplyify(x/y)weijiao
答案:
y =(exp(x)*sin(x))/6 - (sin(3*x)*exp(x))/8 + (sin(5*x)*exp(x))/24 + C4*cos(2*x)*exp(x) + sin(2*x)*exp(x)*(cos(x)/4 - cos(3*x)/12 + 1/6) + C5*sin(2*x)*exp(x)
3. 求微分方程组
在初始条件下的特解,并画出解函数的图形.
程序:
clear
syms x y t
[x,y]=dsolve(Dx+x+y=0,Dy+x-y=0,x(0)=1,y(0)=0,t)
ezplot(x,y,[0, 1])(t的取值,t是与x,y相关的,如果不给范围,则会默认为一个较大的区间)
simplify(x)
simplify(y)
答案:
x =exp(2^(1/2)*t)/2 + 1/(2*exp(2^(1/2)*t)) - (2^(1/2)*exp(2^(1/2)*t))/4 + 2^(1/2)/(4*exp(2^(1/2)*t))
y =2^(1/2)/(4*exp(2^(1/2)*t)) - (2^(1/2)*exp(2^(1/2)*t))/4
图形:
4. 分别用 ode23、ode45 求上述第 3 题中的微分方程初值问题的数值解(近似解),求解区间为.利用画图来比较两种求解器之间的差异.
先编写函数文件verderpol.m:
clear
function xprime=verderpol(t,x)
xprime=[-x(1)-x(2); x(2)-x(1)];
再编写命令文件
clear
y0=[1;0];
[t,x] = ode45(verderpol,[0,2],y0);
x1=x(:,1);x2=x(:,2);
plot(x1,x2,b-)
hold on
y0=[1;0];
[t,x]=ode23(verderpol,[0,2],y0);
x1=x(:,1);x2=x(:,2);
plot(x(:,1),x(:,2),r-);
图形:
两种求解器之间的差异:
ode45大部分场合的首选算法
ode23使用于精度较低的情形
但在此题中并没有体现出差异。
5. 用 Euler 折线法求解微分方程初值问题
的数值解(步长h取0.1),求解范围为区间[0,2].
程序:clear
f=sym(y+2*x/y^2);
a=0;
b=2;
h=0.4;
n=(b-a)/h+1;
x=0;
y=1;
szj=[x,y];
for i=1:n-1
y=y+h*subs(f,{x,y},{x,y});
x=x+h;
szj=[szj;x,y];
end
szj
plot(szj(:,1),szj(:,2))
答案:szj =
0 1.0000
0.1000 1.1000
文档评论(0)