How do I show a quiver plot from a matrix?
이전 댓글 표시
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
Dylan Voss
2020년 7월 14일
편집: Cris LaPierre
2020년 7월 14일
답변 (1개)
Cris LaPierre
2020년 7월 14일
0 개 추천
The issue is with your calculation of dy. Variable a is 2x2, but t is 42x21.
댓글 수: 2
Dylan Voss
2020년 7월 19일
Cris LaPierre
2020년 7월 20일
편집: Cris LaPierre
2020년 7월 20일
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.
카테고리
도움말 센터 및 File Exchange에서 Data Distribution Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!