Matlab 是什么使旋转?

Matlab 是什么使旋转?,matlab,Matlab,我有下面的MatLab代码。我想了解到底是什么使得变量改变了图形(三角形)接下来要绘制的位置 这是密码 clf X = [.1 .8 .9 .1]; Y = [.2 .1 .7 .2]; fill(X,Y,'g','edgecolor','k','linewidth',1), hold on axis equal, axis([-1.2 1.2 -1.2 1.2]), pause(0.2) v = pi/6; A = [cos(v) -sin(v); sin(v) cos(v)]; P =

我有下面的MatLab代码。我想了解到底是什么使得变量改变了图形(三角形)接下来要绘制的位置

这是密码

clf
X = [.1 .8 .9 .1];
Y = [.2 .1 .7 .2];

fill(X,Y,'g','edgecolor','k','linewidth',1), 
hold on
axis equal, axis([-1.2 1.2 -1.2 1.2]), pause(0.2)
v = pi/6; 
A = [cos(v) -sin(v); sin(v) cos(v)];
P = [X; Y];

for i = 1:13
  P = A * P;  
  fill(P(1,:),P(2,:),'g','edgecolor','r','linewidth',1), pause(0.2)
end
plot(0,0,'ko','linewidth',2,'markersize',2)  % origo
hold off
是一个旋转矩阵

如果将A*[x,y]相乘,则得到一个旋转角度为v(弧度)的
[x,y]

然后,代码接受新的
[x,y]
并重复该过程。

p
在每次循环迭代中都会改变值:
p=A*p
由于p的所有行列式都位于循环之外,这是怎么发生的。没有什么比p[i]@excazaLoops更不在它们自己的工作区中。循环中修改的
P
与循环外的
P
相同。所以第一次迭代是<代码> A*[x;y] ,第二个是<代码> a*a*[x;y] 等。作为一个更简单的说明,请考虑:<代码> a=0;对于ii=1:5;A=A+1;结束;disp(A)*在matlab中。
A = [cos(v) -sin(v); sin(v) cos(v)];