How do I show a quiver plot from a matrix?
Ältere Kommentare anzeigen
I am trying to graph this direction field:
x' = (1 1; 4 1)x
This is my code:
a = [1 1;4 1];
x = [x y];
[x,y] = meshgrid(-10:1:10,-10:1:10);
dx = 1;
dy = a.*x.*1;
r = ( dx.^2 + dy.^2 ).^0.5;
u = dx./r;
v = dy./r;
figure
quiver(x,y,u,v);
It returns this error:
ꕋerror: QuiverPlot: product: nonconformant arguments (op1 is 2x2, op2 is 21x21)
error: called from
QuiverPlot at line 5 column 4
I guess my x vector does not have the same dimension as my a vector, even though a has two columns and x has two rows.
As a side note, this problem was given by Boyce and Diprima's textbook with no context regarding the code.
1 Kommentar
Dylan Voss
am 14 Jul. 2020
Bearbeitet: Cris LaPierre
am 14 Jul. 2020
Antworten (1)
Cris LaPierre
am 14 Jul. 2020
0 Stimmen
The issue is with your calculation of dy. Variable a is 2x2, but t is 42x21.
2 Kommentare
Dylan Voss
am 19 Jul. 2020
Cris LaPierre
am 20 Jul. 2020
Bearbeitet: Cris LaPierre
am 20 Jul. 2020
Because you create it using x and y, specifically placing y directly underneath x, and they are each 21x21. Perhaps take a look at the documentation for meshgrid.
Kategorien
Mehr zu Vector Fields finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!