Plotting zero vectors in quiver3

5 views (last 30 days)
David Meixell
David Meixell on 3 Dec 2020
Commented: KSSV on 3 Dec 2020
I'm trying to plot the curl of the function v = -y + x + 0. This comes to (0,0,2), but I get an error stating the variables must be the same size, so I suspect the zeros are causing issues. How can I do a quiver3 plot with these numbers?
%% set up mesh
Xvc=(-5:2:5)';
Yvc=(-5:2:5)';
Zvc=(-5:2:5)';
[X,Y,Z]=meshgrid(Xvc, Yvc, Zvc);
%% plot V
Vx=-Y; % Ex 2 Vx from worksheet
Vy=X; % Ex 2 Vy from worksheet
Vz=0; % Ex 2 Vz from worksheet
figure(110)
quiver3(X, Y, Z, Vx, Vy, Vz); %Changed to 2D plot due to lack of Vz values
grid on
xlabel('Vx')
ylabel('Vy')
%% compute curl
Crlx=0; %Curl X from solved worksheet
Crly=0; %Curl Y from solved worksheet
Crlz=2; %Curl Z from solved worksheet
figure(120)
quiver(X, Y, Z, Crlx, Crly, Crlz);
grid on
tmp=0;

Accepted Answer

KSSV
KSSV on 3 Dec 2020
Edited: KSSV on 3 Dec 2020
%% set up mesh
Xvc=(-5:2:5)';
Yvc=(-5:2:5)';
Zvc=(-5:2:5)';
[X,Y,Z]=meshgrid(Xvc, Yvc, Zvc);
%% plot V
Vx=-Y; % Ex 2 Vx from worksheet
Vy=X; % Ex 2 Vy from worksheet
Vz=zeros(size(X)); % Ex 2 Vz from worksheet
figure
quiver3(X, Y, Z, Vx, Vy, Vz); %Changed to 2D plot due to lack of Vz values
view(3)
grid on
xlabel('Vx')
ylabel('Vy')
  2 Comments
David Meixell
David Meixell on 3 Dec 2020
Ah! So for the second part, if I change it to the following, it should work as well?
%% compute curl
Crlx=zeros(size(X)); %Curl X from solved worksheet = 0
Crly=zeros(size(X)); %Curl Y from solved worksheet = 0
Crlz=2*ones(size(X)); %Curl Z from solved worksheet = 2
KSSV
KSSV on 3 Dec 2020
Yes it will work.

Sign in to comment.

More Answers (0)

Categories

Find more on Vector Fields in Help Center and File Exchange

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!