How do I show a quiver plot from a matrix?
Afficher commentaires plus anciens
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 commentaire
Dylan Voss
le 14 Juil 2020
Modifié(e) : Cris LaPierre
le 14 Juil 2020
Réponses (1)
Cris LaPierre
le 14 Juil 2020
0 votes
The issue is with your calculation of dy. Variable a is 2x2, but t is 42x21.
2 commentaires
Dylan Voss
le 19 Juil 2020
Cris LaPierre
le 20 Juil 2020
Modifié(e) : Cris LaPierre
le 20 Juil 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.
Catégories
En savoir plus sur Data Distribution Plots dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!