Make a slope eld for this equation

5 次查看(过去 30 天)
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)

采纳的回答

Star Strider
Star Strider 2016-7-28
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.

更多回答(0 个)

标签

Community Treasure Hunt

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

Start Hunting!

Translated by