0

我必须乘以D=[cos(pi/18) -sin(pi/18); sin(pi/18) cos(pi/18)]9X= [0.80;0]倍,使用 for 循环。我想将结果存储在表格中:X=zeros(2,10)

我有点失落。

安德斯。

4

2 回答 2

0

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

于 2013-10-26T13:10:20.730 回答
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 
于 2013-10-26T14:05:41.213 回答