"Error using quiver"???

10 次查看(过去 30 天)
Ana Vlajnic
Ana Vlajnic 2015-2-24
回答: Alka Nair 2015-2-25
The error I get from my code is as follows:
Error using quiver (line 44)
DOUBLE cannot convert the input expression into a double array.
If the input expression contains a symbolic variable, use VPA.
CODE:
clear all;
syms y t;
f = (2*y - t)/ (2*t - y);
c = (abs(t - y))/ (abs((t + y)^3));
l = sqrt(f.^2 + 1);
[t, y] = meshgrid(-5:0.2:5, -5:0.2:5);
quiver(t, y, 1./l, f./l, 0.5), axis equal tight
xlabel 't', ylabel 'y'
END CODE
Please tell me what' I'm doing wrong!

回答(1 个)

Alka Nair
Alka Nair 2015-2-25
When the input argument to DOUBLE function is a symbolic expression, MATLAB will output the error message you received.
In this particular case, the arguments to 'quiver' '1./l' and 'f./l' are symbolic expressions. To workaround this issue, Use 'EVAL' to evaluate the symbolic expression.

类别

Help CenterFile Exchange 中查找有关 Vector Fields 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by