I want to draw dual phase portraits in a 4x4 linear differential equation system. My codes contain 4 variables as below (x1, x2, y1, y2).
1 次查看(过去 30 天)
显示 更早的评论
p=0.1; q=15;
x1dom = linspace(-p,p,q);x2dom = linspace(-p,p,q);y1dom = linspace(-p,p,q);y2dom = linspace(-p,p,q);
[X1,X2,Y1,Y2] = ndgrid(x1dom,x2dom,y1dom,y2dom);
A=[1.1 0 0.8 0 ; 0 1.2 0 0 ; 0 0 -0.9 0 ; 0 0 0 -0.5];
X1dot= A(1,1)*X1 + A(1,2)*X2 + A(1,3)*Y1 + A(1,4)*Y2;
X2dot= A(2,1)*X1 + A(2,2)*X2 + A(2,3)*Y1 + A(2,4)*Y2;
Y1dot= A(3,1)*X1 + A(3,2)*X2 + A(3,3)*Y1 + A(3,4)*Y2;
Y2dot= A(4,1)*X1 + A(4,2)*X2 + A(4,3)*Y1 + A(4,4)*Y2;
quiver(X1,X2,X1dot,X2dot)
How could I solve this problem?
2 个评论
Abolfazl Chaman Motlagh
2021-9-12
your X1 , X2 , X1dot , X2dot are 4 dimensional array. how do you want to plot them with quiver? it is exactly the error the code returns.
"Value must be an array of numeric type with 3 or fewer dimensions."
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Calculus 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!