Help with the following error with quiver
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens

I am getting the above error using the function quiver for vector field
x = -4e-7:0.1e-12:4e-7;
y = -4e-7:0.1e-12:4e-7;
[X,Y] = meshgrid(x,y);
HX = (atan(((g/2 + X)./Y);
HY1 = (cos((g/2 + X).^2 + (Y).^2/(g/2 - X).^2 + (Y).^2));
H = sqrt(HY1.^2 + HX.^2);
quiver(H,X,Y);
Réponse acceptée
Sam Chak
le 24 Mar 2022
Modifié(e) : Sam Chak
le 26 Mar 2022
Hi @Amy Topaz
If g is assumed as the gravity, then the "Region of Repulsion" is found here. Solving the simultaneous equations
and
give two saddle points somewhere around
and
region. Check it out.




[X, Y] = meshgrid(-7:4/14:-3, -2:4/14:2);
g = 10;
U = (1/pi)*(atan(((g/2 + X)./Y) + atan((g/2 - X)./Y)));
V = (-1/2*pi)*(log((g/2 + X).^2 + (Y).^2./(g/2 - X).^2 + (Y).^2));
quiver(X, Y, U, V, 1.5)
axis square
axis([-7.5 -2.5 -2.5 2.5])

1 commentaire
Sam Chak
le 24 Mar 2022
Hi @Amy Topaz
Are you looking for 3-D vector field like this?
[X, Y, Z] = meshgrid(-7:4/14:-3, -2:4/14:2, 0:4/14:4);
g = 10;
U = (1/pi)*(atan(((g/2 + X)./Y) + atan((g/2 - X)./Y)));
V = (-1/2*pi)*(log((g/2 + X).^2 + (Y).^2./(g/2 - X).^2 + (Y).^2));
H = sqrt(U.^2 + V.^2);
h = quiver3(X, Y, Z, U, V, H);
set(h, 'maxheadsize', 1.5);

Plus de réponses (1)
Walter Roberson
le 24 Mar 2022
quiver has a few calling sequences:
- quiver(x, y, u, v)
- quiver(u, v)
- either of those followed by a scale factor
- any of the above proceeded by an axes handle
You are using three parameters, so you are either using axes, u, v or else u, v, scale. But the first parameter is not an axes so you are using u,v, scale
Did you possibly intend to use quiver3?
0 commentaires
Voir également
Catégories
En savoir plus sur Vector Fields dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!