Hi, I am having an error using Quiver. Below is my code.
[X,Y] = meshgrid(-1:0.1:1, -1:0.1:1);
k=2*pi;
syms U_inf Lambda Psi X Y u v
Psi = U_inf*Y+((Lambda/k)*atan(Y/X));
u = diff(Psi,Y);
v = diff (Psi, X);
quiver (X,Y,u,v)
The error is "Unable to convert expression into double array."
I believe I am not using the syms correctly. Any help is appreciated!

Réponses (1)

KSSV
KSSV le 19 Sep 2020

0 votes

You cannot use like that. You need to take all data in double i.e in numbers to plot the arrows.Something like below:
[X,Y] = meshgrid(-1:0.1:1, -1:0.1:1);
k=2*pi;
U_inf = rand ; % define your value
Lambda = 1. ; %define your value
Psi = U_inf*Y+((Lambda/k)*atan(Y./X));
u = gradient(Psi);
v = gradient(Psi);
quiver (X,Y,u,v)

1 commentaire

Bajinder Singh
Bajinder Singh le 19 Sep 2020
Thanks for the response. But I am not given any values for U_inf and Lambda. They are simply constants. That is why I was trying to use the "syms" command.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Vector Fields dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by