Make a slope eld for this equation

5 Ansichten (letzte 30 Tage)
Bob
Bob am 28 Jul. 2016
Beantwortet: Star Strider am 28 Jul. 2016
Make a slope field for this equation over the intervals between 0<t<6 and 0<y<1. Equation: 5*y*(1-y)-(1+((sin(2*pi*t))/2))
Attempted code:
syms y(t);
[T, Y] = meshgrid(0:0.2:6, 0:0.2:1);
S = 5*y*(1-y)-(1+(1/2)*sin(2*pi*t));
L = sqrt(1 + S.^2);
quiver(T, Y, 1./L, S./L, 0.45)
axis tight; xlabel('t'), ylabel('y')
title('Slope field field')
Error: Error using quiver (line 44) DOUBLE cannot convert the input expression into a double array.
Error in Project_3 (line 26) quiver(T, Y, 1/L, S/L, 0.45)

Akzeptierte Antwort

Star Strider
Star Strider am 28 Jul. 2016
Don’t use the Symbolic Math Toolbox. Use an anonymous function instead:
[T, Y] = meshgrid(0:0.2:6, 0:0.2:1);
S = @(t,y) 5*y.*(1-y)-(1+(1/2)*sin(2*pi*t));
L = sqrt(1 + S(T,Y).^2);
quiver(T, Y, 1./L, S(T,Y)./L, 0.45)
axis tight; xlabel('t'), ylabel('y')
title('Slope field field')
This works. I will leave it to your to determine if it produces the correct results. For information on anonymous functions, see the appropriate sections in Function Basics.

Weitere Antworten (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by