drawing a quiver for a list of 1D arrows
11 views (last 30 days)
Show older comments
Assuming we have a set of points x and y positions. Something like: x = [1.25 1.4 1.45 1.6] y = [6 6.15 6.2 6.35] and the velocity values at them in 1D direction: vel = [-0.0145 -0.0231 -0.0134] How can we show the quiver arrows in 2D plane according to their positions and directions in this 1D line ?? Something like 3 arrows in the plane in this case for example ??
0 Comments
Answers (2)
Ced
on 20 Apr 2016
Hi
What do you mean by "velocity values in 1D direction"? Your velocity has 3 components. Regardless, you can plot any of these things using quiver, or quiver3. Example:
x = [1.25 1.4 1.45 1.6]';
y = [6 6.15 6.2 6.35]';
z = [ 0 0 0 0 ]';
vel = [-0.0145 -0.0231 -0.0134];
N = length(x);
vel_mat = repmat(vel,N,1);
% draw 3D quiver plot
quiver3(x,y,z,vel_mat(:,1),vel_mat(:,2),vel_mat(:,3))
xlabel('x')
ylabel('y')
zlabel('z')
% select view (here, x-y)
view(0,90)
returns
0 Comments
Sahar Amir
on 20 Apr 2016
1 Comment
Ced
on 20 Apr 2016
You would do that exactly like above, you just have to set your velocity accordingly. Let's say you have a speed s1 at point (x(1),y(1)) towards (x(2),y(2)), then
dx = diff(x);
dy = diff(y);
vel = s1*[ dx(1) ; dy(1) ; 0 ]/sqrt(dx(1).^2 + dy(1).^2);
?
See Also
Categories
Find more on Vector Fields in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!