Matlab编程与求微分方程的解

玛丽莲梦兔
737次浏览
2020年08月05日 02:49
最佳经验
本文由作者推荐

返老还童经典台词-幼师资格证报考条件



1. 求微分方程
(x
2
1)y'2xysinx0
的通解

symsxy

y=dsolve('(x^2-1)*Dy+2*x*y-sin(x)=0','x')


y=(-cos(x)+C1)(x^2-1)
2. 求微分方程
y''2y'5ye
x
sinx
的通解.
symsxy

y=dsolve('D2y-2*Dy+5*y=exp(x)*sin(x)','x')

y =exp(x)*sin(2*x)*C2+exp(x)*cos(2*x)*C1+13*ex p(x)*sin(x)
3. 求微分方程组

dx
xy0


dt



dy
xy0


dt
在初始条件
x|< br>t0
1,y|
t0
0
下的特解,并画出解函数
yf (x)
的图形.
symsxyt

[x,y]=dsolve('Dx+x +y=0','Dy+x-y=0','x(0)=1','y(0)=0')

ezplot(x,y,[0,1.3]);axis auto

x =(12-1 4*2^(12))*exp(2^(12)*t)+(12+14*2^(12))*exp(-2^(12) *t)
y=-(12-14*2^(12))*2^(12)*exp(2^(12)*t)+(12 +14*2^(12))*2^(12)*exp(-2^(12)*t)-(12-1
4*2^(12 ))*exp(2^(12)*t)-(12+14*2^(12))*exp(-2^(12)*t)

4.分别用 ode23、ode45 求上述第 3 题中的微分方程初值问题的数值解( 近似解),
求解区间为
t[0,2]
.利用画图来比较两种求解器之间的差异.
function lulu4

%RIGIDODE Euler equations of a rigid body without external forces



tspan = [0 2];

y0 = [1; 0];


% Solve the problem using ode45

ode45(@f,tspan,y0);

% -------------------------------------------------- ----------

functiondydt = f(t,y)

dydt = [ -y(1)-y(2)

-y(1)+y(2) ];


fun=inline('-x-y','x','y');

[x,y]=ode23(fun,[0,2],'-x+y');


5. 用 Euler 折线法求解微分方程初值问题

12x
2

y' y
3
,
y


y(0)1

f=sym('y-12*x^2y^3');

a=0;

b=1;

h=0.1;

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;





sjz=[szj;x,y];

end

szj

plot(szj(:,0),szj(:,2))

的数值解(步长h取0.1),求解范围为区间[0,2].
6. 用四阶Runge- Kutta法求解微分方程初值问题

y'ye
x
cosx,



y(0)1
的数值解(步长h取0.1),求解范围为区间[0,3] .
四阶Runge-Kutta法的迭代公式为(Euler 折线法实为一阶Runge- Kutta法):


y
0
y(x
0
),

x
k1
x
k
h,

h
y
k1
y
k
(L
1
2L
2
2L
3
L
4
)
6


k0 ,1,2,

,n1

L
1
f(x
k
,y
k
)

hh

L
2
f(x
k
,y
k
L
1
)
22


h h

L
3
f(x
k
,y
k
L
2
)
22



L
4
f(x
k
h,y
k
hL
3
)
f=sym('y-exp(x) *cos(x)');

a=0;

b=1;

h=0.1;

n=(b-a)h+1;

x=0;

y=1;

szj=[x,y];

for i=1:n-1

l1=subs(f,{'x','y'},{x,y});

l2=subs(f,{'x','y'},{x+h2,y+l1*h2});

l3=subs(f,{'x','y'},{x+h2,y+l2*h2});

l4=subs(f,{'x','y'},{x+h,y+l3*h});

y=y+h*(l1+2*l2+2*l3+l4)6;

x=x+h;

szj=[szj;x,y];

end

szj

plot(szj(:,1),szj(:,2))







源代码电影影评-新学期新气象


门面房出租-端午放假通知


品管员-秦皇岛外国语学院


直招士官-福建农林大学分数线


重庆电专-海南省邮政管理局


圣诞节的真实来历-浙江中医药大学分数线


安徽大专院校-失恋三十三天经典台词


读书伴我成长手抄报-不抱怨的人生读后感