for ループの全データ取得
15 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Takahiro INOUE
am 28 Nov. 2019
Beantwortet: Shunichi Kusano
am 29 Nov. 2019
お世話になっております。TDUの井上です.
下記のコードにてforループの100回の全データをすべて取得したいのですが,うまくできません.
(100回目のデータしか取得できません)
ご指導ください.
L1=1;L2=1;L3=1; % 変数宣言
theta1=0;theta2=0;theta3=0; % 変数宣言
posi3=[0; 0; L3; 1]; % 手先位置(手先座標系)
for i=1:100
theta1=theta1+0.1;theta2=theta2+0.1;theta3=theta3+0.1;
trans01=[cos(theta1) -sin(theta1) 0 0; % 3×3行列
sin(theta1) cos(theta1) 0 0;
0 0 1 0;
0 0 0 1];
trans12=[cos(theta2) 0 sin(theta2) 0; % 3×3行列
0 1 0 0;
-sin(theta2) 0 cos(theta2) L1;
0 0 0 1];
trans23=[cos(theta3) 0 sin(theta3) 0; % 3×3行列
0 1 0 0;
-sin(theta3) 0 cos(theta3) L2;
0 0 0 1];
posi0=trans01*trans12*trans23*posi3;
end
0 Kommentare
Akzeptierte Antwort
Shunichi Kusano
am 29 Nov. 2019
こんにちは
posi0が、100回分取得したいデータでしょうか。あらかじめ、100回分のデータを格納する配列を作っておいて、そこに各ループごとにposi0データを突っ込んでいくという流れでデータを保存します。
必要なところだけ書きますと
posi0 = zeros(4,100); % あらかじめ配列を用意縦(行方向)が一回分のデータ、横(列方向)にforループ文だけ
for i = 1:100
...その他の処理...
posi0(:,i) = trans01*trans12*trans23*posi3;
end
でposi0に必要なデータを保存できると思います。
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!