Matlab 2x2旋转矩阵(45度)

Matlab 2x2旋转矩阵(45度),matlab,Matlab,如何创建旋转45度的2x2旋转矩阵? 我研究了一下,但我发现我在代码中使用了什么,它给出了3x3矩阵 clear; clc; y=@(t) sqrt(t).*cos(4.*t); num_of_samples = 20 ; figure; fplot(y, [0,2*pi]) hold on tSample = linspace (0, 2*pi, num_of_samples); ySample = zeros(1,num_of_samples); for i=1:num_of_samp

如何创建旋转45度的2x2旋转矩阵? 我研究了一下,但我发现我在代码中使用了什么,它给出了3x3矩阵

clear;
clc;
y=@(t) sqrt(t).*cos(4.*t);
num_of_samples = 20 ;
figure;
fplot(y, [0,2*pi])
hold on

tSample = linspace (0, 2*pi, num_of_samples); 
ySample = zeros(1,num_of_samples);

for i=1:num_of_samples 
  temp = tSample(i);
  temp_2 = sqrt(temp);
  ySample(i) = temp_2*cos(4*temp);
end


mXY=([tSample;ySample]);
fplot(y,[0,2*pi]);
hold on;
    plot(mXY(1,:),mXY(2,:),'Xk');
    hold on;
    plot(mXY(1:10:end),mXY(2:10:end),'Xr');


%rotation matrix 
R=rotx(45);

mXYrot=mXY.*R;

二维旋转基本上与三维空间中围绕z轴的旋转相同。因此,您可以简单地使用
rotz
创建一个3x3矩阵,但只使用它的左上2x2子矩阵:

R = rotz(45);
R = R(1:2,1:2);
或手动:

a=1/2*sqrt(2);
R=[ a -a; a  a ];

注意:如果您没有必要的工具箱来使用
rotz
,请自己写下任意角度
alpha
的2D旋转矩阵:


仅供参考,
rotz
是相控阵系统工具箱的一个功能,一个很少有人拥有的专用工具箱(即使OP看起来有)。@horchler:谢谢,我没有注意到,OP可能是个学生。真的吗<代码>R2d=@(deg)[cosd(deg)-sind(deg);sind(deg)cosd(deg)]
R=[cosd(alpha) -sind(alpha); ... 
   sind(alpha)  cosd(alpha)];