Plotting a function with difference between 2 vectors?

2 visualizaciones (últimos 30 días)
Niklas Kurz
Niklas Kurz el 8 de Mayo de 2021
Editada: Niklas Kurz el 9 de Mayo de 2021
I want to plot where is the magnitude of the distance between 2 vectors: :
If I would implement this idea in Matlab:
[r1,r2] = meshgrid(linspace(-1,1,100));
phi = 1./(r1-r2);
mesh(r1,r2,phi)
what's nor really any kind of potential. Instead
[r1,r2] = meshgrid(linspace(-1,1,100));
phi = 1./sqrt((r1.^2+r2.^2));
mesh(r1,r2,phi)
is drawing the shape I sougth. Where does this difference originate from?

Respuesta aceptada

Cris LaPierre
Cris LaPierre el 8 de Mayo de 2021
Editada: Cris LaPierre el 8 de Mayo de 2021
The shape is caused by where you can divide by 0. The difference is that, in the first case, this occurs along the diagonal line r1-r2=0. In the second case, the only time you divide by 0 is when r1=r2=0, hence the peak at a single point, (0,0).
  1 comentario
Niklas Kurz
Niklas Kurz el 9 de Mayo de 2021
Editada: Niklas Kurz el 9 de Mayo de 2021
yea, I guess u have to think about meshgrid(r1,r2) as a "vectorspace" spaned by the unit vecots r1 and r2 and not as indivdual vectors like I did.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Surface and Mesh Plots en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by