for ループを使用して、9D=[cos(pi/18) -sin(pi/18); sin(pi/18) cos(pi/18)]
倍する必要があります。X= [0.80;0]
結果を次の形式のテーブルに保存します。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 = 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