matlab中的矩阵乘法,使用for循环
我必须使用for循环将matlab中的矩阵乘法,使用for循环,matlab,loops,math,for-loop,matrix,Matlab,Loops,Math,For Loop,Matrix,我必须使用for循环将D=[cos(pi/18)-sin(pi/18);sin(pi/18)cos(pi/18)]乘以X=[0.80;0]9次。我想将结果存储在以下表格中:X=zeros(2,10) 我有点迷路了 安德斯 你的问题不是很清楚。循环D*X(2x1矩阵)9次不会得到2x10矩阵 这就是你要找的吗 D = [cos(pi/18) -sin(pi/18); sin(pi/18) cos(pi/18)]; X = [0.80;0]; O = ones(1,9); A = D*X*O 输出
D=[cos(pi/18)-sin(pi/18);sin(pi/18)cos(pi/18)]
乘以X=[0.80;0]
9次。我想将结果存储在以下表格中:X=zeros(2,10)
我有点迷路了
安德斯 你的问题不是很清楚。循环
D*X
(2x1矩阵)9次不会得到2x10矩阵
这就是你要找的吗
D = [cos(pi/18) -sin(pi/18); sin(pi/18) cos(pi/18)];
X = [0.80;0];
O = ones(1,9);
A = D*X*O
输出:
A =
Columns 1 through 8:
0.78785 0.78785 0.78785 0.78785 0.78785 0.78785 0.78785 0.78785
0.13892 0.13892 0.13892 0.13892 0.13892 0.13892 0.13892 0.13892
Column 9:
0.78785
0.13892
注意:矩阵操作在大多数情况下不需要在Matlab中循环如果@jkshah的答案的结果是您想要的,请使用他的答案(可能将
O
矩阵更改为O=one(1,10)
)。MatLab之所以这样命名是因为它(或she:p)非常适合矩阵运算,如果你能更好地避免循环的话。如果您想使用循环,这是一种方法:
D = [cos(pi/18) -sin(pi/18); sin(pi/18) cos(pi/18)]; % Input
X = [0.80;0]; % Input
A = D*X; % The function
X = zeros(2,10); % Initialize the result table
X(:,1)=A; % Insert the result in
% the first column
for i =1:9 % Iterate to fill the 2X10 table
X(:,i+1) = A;
end
所以你想把一个2x2矩阵和一个2x1矩阵相乘9次,得到一个2x10的输出。为了得到有意义的帮助,你需要更具体一些。