How graph second order differential equations with Matlab?
161 views (last 30 days)
Show older comments
jake thompson
on 18 Jan 2018
Answered: Phloykan Tepwarin
on 18 Jan 2022
Looking to get some help on how to use matlab to solve the following equation problem 6, all help is appreciated! Thank You! I haven't used matlab in 2 years very rusty, image is reference to original problem statement.
4y"-20y'+25y=0
%%PROBLEM 6
clear; syms y(x)
ode = 4*diff(y,x,2) - 20*diff(y,x) + 25*y == 0;
%ySol(x) = dsolve(ode)
%ezplot('ode')
ySol = dsolve(ode, y(0) == 0)
figure
subplot(2,1,1)
ezplot(real(ySol(1)))
subplot(2,1,2)
ezplot(imag(ySol(1)))
ERROR
Warning: Contour not rendered for constant ZData
> In contour (line 52)
In ezplot>ezimplicit (line 315)
In ezplot (line 153)
In sym/ezplot (line 61)
Accepted Answer
Star Strider
on 18 Jan 2018
The problem is that you need to define an initial condition for the first derivative.
Try this:
syms y(x)
Dy = diff(y);
D2y = diff(y,2);
ode = 4*D2y - 20*Dy + 25*y == 0;
ySol = dsolve(ode, y(0) == 0, Dy(0) == 1) % Define The Initial Condition For ‘Dy(0)’ To Be ‘Some Value’
figure
ezplot(ySol)
3 Comments
More Answers (2)
Phloykan Tepwarin
on 18 Jan 2022
yms s t Y u ; u = 10*exp(-t); ic = [0 0]; U = laplace(u, t, s); Y1 = s*Y; Y2 = s*Y1; S = Y2+9*Y-U; Y(s) = solve(S, Y); y = ilaplace(Y(s)); B = simplify(y); pretty(B); h = ezplot(y, [0 10]); set(h,'linewidth',2.5); title('function y(t)'); xlabel('t'); ylabel('y(t)');
0 Comments
Phloykan Tepwarin
on 18 Jan 2022
syms s t Y u ;
u = 10*exp(-t);
ic = [0 0];
U = laplace(u, t, s);
Y1 = s*Y; Y2 = s*Y1;
S = Y2+9*Y-U;
Y(s) = solve(S, Y);
y = ilaplace(Y(s));
B = simplify(y);
pretty(B);
h = ezplot(y, [0 10]);
set(h,'linewidth',2.5);
title('function y(t)');
xlabel('t');
ylabel('y(t)');
0 Comments
See Also
Categories
Find more on Calculus in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!