Creating a vector field

102 次查看(过去 30 天)
Johannes
Johannes 2012-11-27
Hello everybody,
I am trying to create a vector field. The vector at each point is combined out of two others.
I tried
[x,y] = meshgrid(-2:.2:2,-2:.2:2) ; to create the points I want to take a look at
VectorX = [x./(2*pi*(x.^2+y.^2)),0]; is the Vector in the "x" direction
VectorY = [0,y./(2*pi*(x.^2+y.^2))]; is the Vector in the "y" direction
Vectortoplot = [(x./(2*pi*(x.^2+y.^2))),(y./(2*pi*(x.^2+y.^2)))];
quiver(x,y,Vectortoplot)
But all I get is an empty coordinat system form 0 to 1 in 0.1 steps in each direction. I am a little confused.
If you could help me, I would be very thankful.
  2 个评论
Jan
Jan 2012-11-28
Please learn how to format code in the forum. Inserting white lines does not look fancy.
Johannes
Johannes 2012-11-29
I know, i am new in matlab, and this was the fastest way for me.
I will try to do that in the future, however i would be thankful for some help

请先登录,再进行评论。

回答(1 个)

Babak
Babak 2012-11-28
编辑:Babak 2012-11-28
I don't know why you put a zero at the end of VectorX and a zero at the beginning of VectorY which makes those lines incorrect.
Your usage of quiver doesn't seem to be proper either. quiver needs 4 inputs. See
doc quiver
on that.
Here's what I ran:
[x,y] = meshgrid(-2:.2:2,-2:.2:2) ; %to create the points I want to take a look at
VectorX = [x./(2*pi*(x.^2+y.^2))]; %is the Vector in the "x" direction
VectorY = [y./(2*pi*(x.^2+y.^2))]; %is the Vector in the "y" direction
Vectortoplot = [(x./(2*pi*(x.^2+y.^2))),(y./(2*pi*(x.^2+y.^2)))];
% size(x)
% size(y)
% size(VectorX)
% size(VectorY)
quiver(x,y,VectorX,VectorY)
  3 个评论
Rupchand Sutradhar
编辑:Rupchand Sutradhar 2021-7-5
how can I set the length of arrow ?
Nitin Phadkule
Nitin Phadkule 2021-10-9
quiver(x,y,VectorX,VectorY,0)
add 0

请先登录,再进行评论。

类别

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