matlab中的矩阵乘法,使用for循环

时间:2013-10-26 12:53:15

标签: 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)

我有点失落。

安德斯。

2 个答案:

答案 0 :(得分:0)

你的问题不是很清楚。循环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中的矩阵操作不需要循环

答案 1 :(得分:0)

如果@ jkshah的答案结果是您想要的,请使用他的答案(可能将O矩阵更改为O = ones(1,10))。 MatLab这样命名的原因是因为它(或者她: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