for文を使用した変数の連番作成
조회 수: 18 (최근 30일)
이전 댓글 표시
変数名を連番で作成し,その中に配列するプログラムを作成したいです。
a=[0,1,2,3,4,5,6,7,0,2,5,6,7,8,9,0,4,5,6,7,3,2]
b=[1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,2,1,3,4,5]
abのような配列が存在したときに,aの要素が0のとき,変数を増やして,次にaの要素が0になる一つ前までのaとbの要素を違う変数に代入するといったものです。
a1=[0,1,2,3,4,5,6,7],b1=[1,2,3,4,5,6,7,8]
a2=[0,2,5,6,7,8,9],b2=[9,1,2,3,4,5,6]
a3=[0,4,5,6,7,3,2],b3=[7,8,2,1,3,4,5]
・・・・・・
といったものをif分とfor分を使って作ろうとしているのですが,for分で変数名を作るところが出来ていません。
aの中の0の数や位置はランダムです。
aとbの長さは同じです。
ご教授いただければ幸いです。
댓글 수: 0
답변 (1개)
TT
2021년 9월 22일
セル配列を利用してはいかがでしょうか。
a=[0,1,2,3,4,5,6,7,0,2,5,6,7,8,9,0,4,5,6,7,3,2]
b=[1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,2,1,3,4,5]
if a(end)~=0
a(end+1)=0;
end
id0=find(a==0);
id =[id0,length(a)];
c={};d={};
for k=1:length(id0)-1
c{k}=a(id(k):id(k+1)-1);
d{k}=b(id(k):id(k+1)-1);
end
c{:}
d{:}
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!