Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
matlab中的矩阵乘法,使用for循环_Matlab_Loops_Math_For Loop_Matrix - Fatal编程技术网

matlab中的矩阵乘法,使用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 输出

我必须使用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
输出:

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的输出。为了得到有意义的帮助,你需要更具体一些。