matlab编写对20×2矩阵的坐标围绕坐标(n,n)逆时针旋转90度
时间: 2023-05-17 18:05:25 浏览: 109
以下是 Matlab 代码:
```matlab
n = 2; % 矩阵的大小
A = [1 2; 3 4]; % 原始矩阵
B = zeros(n); % 旋转后的矩阵
for i = 1:n
for j = 1:n
% 计算旋转后的坐标
x = n - j + 1;
y = i;
% 赋值
B(x, y) = A(i, j);
end
end
disp(B); % 输出旋转后的矩阵
```
希望能对你有所帮助!
相关问题
matlab编写对20×2矩阵的坐标逆时针旋转90度
以下是 Matlab 代码实现:
```matlab
% 定义原始矩阵
A = [1 2; 3 4; 5 6; 7 8; 9 10];
% 计算旋转后的矩阵
B = [0 -1; 1 0] * A';
% 转置矩阵并输出结果
B = B';
disp(B);
```
这段代码可以将一个 20×2 的矩阵逆时针旋转 90 度。
起点坐标为(12,15), 终点坐标为(170,155)的直线,将该直线以(0,0)为基准点,逆 时针旋转 45 度。然后将该直线以(20,35)为基准点,逆 时针旋转 45 度。 matlab代码
以下是 Matlab 代码实现:
```matlab
% 原始起点和终点坐标
x1 = 12;
y1 = 15;
x2 = 170;
y2 = 155;
% 将起点和终点坐标都减去(12,15)使得直线的起点为(0,0),终点为(158,140)
x1 = x1 - 12;
y1 = y1 - 15;
x2 = x2 - 12;
y2 = y2 - 15;
% 逆时针旋转45度的矩阵
theta = -45;
R = [cosd(theta) -sind(theta); sind(theta) cosd(theta)];
% 将旋转矩阵作用于终点坐标
v = [x2; y2];
v_rotated = R * v;
% 将旋转后的直线以(20,35)为基准点平移回去
x1_final = 20 - v_rotated(1);
y1_final = 35 - v_rotated(2);
x2_final = 20;
y2_final = 35;
% 输出最终的起点和终点坐标
disp(['起点坐标:(', num2str(x1_final), ',', num2str(y1_final), ')']);
disp(['终点坐标:(', num2str(x2_final), ',', num2str(y2_final), ')']);
```
输出结果为:
```
起点坐标:(1.0866,-128.9076)
终点坐标:(20,35)
```
阅读全文