Help with the following error with quiver

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);

5 comentarios

I believe it's likely that there's a missing period in your expression for HY1. Please see below.
g = 10;
x = -4e-7:0.1e-7:4e-7;
y = -4e-7:0.1e-7:4e-7;
[X,Y] = meshgrid(x,y);
HX = (1/pi)*(atan(((g/2 + X)./Y) + atan((g/2 - X)./Y)));
HY1 = (-1/2*pi)*(log((g/2 + X).^2 + (Y).^2./(g/2 - X).^2 + (Y).^2));
% You probably should have this . here ^
H = sqrt(HY1.^2 + HX.^2);
quiver(X,Y,HX,HY1); % ?
Walter Roberson
Walter Roberson el 24 de Mzo. de 2022
You need to resolve H into horizontal and vertical components, and pass quiver(X, Y, horizontal, vertical)
Your current H looks like a pure magnitude.
Rena Berman
Rena Berman el 8 de Abr. de 2022
(Answers Dev) Restored edit
Rik
Rik el 24 de Mayo de 2022
Editing away your question is very rude, please don't do it again.

Iniciar sesión para comentar.

 Respuesta aceptada

Sam Chak
Sam Chak el 24 de Mzo. de 2022
Editada: Sam Chak el 26 de Mzo. de 2022
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 comentario

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);

Iniciar sesión para comentar.

Más respuestas (1)

Walter Roberson
Walter Roberson el 24 de Mzo. de 2022

0 votos

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?

Categorías

Más información sobre Vector Fields en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 24 de Mzo. de 2022

Editada:

Rik
el 24 de Mayo de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by