|
|
|||
![]() |
Department of Engineering |
| University of Cambridge > Engineering Department > computing help > programs > matlab |
|
y' + 2ty =0 between t=0 and t=5 where y(0)=3 |
|
function dy = yprime1(t,y) dy= -2*t*y; |
|
function odedemo1 disp('Solving y''+2ty=0; y(0)=3; between t=0 and t=5'); [T,Y] = ode23(@yprime1, [0, 5], 3); plot(T,Y); function dy = yprime1(t,y) dy= -2*t*y; |
|
function odedemo1 disp('Solving y''+2ty=0; y(0)=3; between t=0 and t=5'); options=odeset('RelTol',1e-2); [T,Y] = ode23(@yprime1, [0, 5], 3, options); plot(T,Y); function dy = yprime1(t,y) dy= -2*t*y; |
|
function odedemo1 disp('Solving y''+pty=0; y(0)=3; between t=0 and t=5 for p=1, 2, and 3'); for i=1:3 [T,Y] = ode23(@yprime1, [0, 5], 3, [], i); figure plot(T,Y); end function dy = yprime1(t,y, p) dy= -p*t*y; |
|
y'' + 2ty' +3y=0 between t=0 and t=5 where y(0)=3 and y'(0)=1 |
|
y1 = y y2 = y' |
|
y2' = -2ty2 -3y1 y1'=y2 |
|
function dy = yprime2(t,y) dy= [y(2); -2*t*y(2)-3*y(1)]; |
The initial conditions also need to be provided in a vector form. At t=0, [y1; y2] = [3;1]. Putting all this together we can create odedemo2.m
|
function odedemo2 [T,Y] = ode23(@yprime2, [0, 5], [3;1]); plot(T,Y); function dy = yprime2(t,y) dy= [y(2); -2*t*y(2)-3*y(1)]; |
More generally
| dsolve('D2y + 2*Dy - 3*y=0') |
| dsolve('D2y -5*Dy + 4*y=0', 'y(0) = 1', 'Dy(0)=0') |
| | computing help | Matlab | |