配列に数字を代入するプログラムについて

26 Ansichten (letzte 30 Tage)
Daiki
Daiki am 3 Dez. 2021
Verschoben: Atsushi Ueno am 17 Aug. 2022
1 1
1 2
1 3
1 4
1 5
2 1
2 2
2 3
2 4
2 5
3 1
3 2
このような2列目が5までいったら、1列目が1ふえるような配列をつくりたいのです。
どのようなプログラムにすればいいですか。
  2 Kommentare
Atsushi Ueno
Atsushi Ueno am 3 Dez. 2021
Verschoben: Atsushi Ueno am 17 Aug. 2022
配列の添え字として使うのであれば、ind2sub関数を使う事が出来ます。あっ
x = (1:20)';
[row col] = ind2sub([5 4], x);
disp([col row]); % MATLABのデフォルトは列優先
1 1 1 2 1 3 1 4 1 5 2 1 2 2 2 3 2 4 2 5 3 1 3 2 3 3 3 4 3 5 4 1 4 2 4 3 4 4 4 5
Toru Ikegami
Toru Ikegami am 3 Dez. 2021
Verschoben: Atsushi Ueno am 17 Aug. 2022
おー.美しいですね.素晴らしい.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Toru Ikegami
Toru Ikegami am 3 Dez. 2021
こんにちは,
一桁目だけを1から5で回すならば,次のようなコードはいかがでしょうか.
x = (1:20)';
y = 10*(floor((x-1)/5))+mod(x-1,5)+1;
disp(y);
1 2 3 4 5 11 12 13 14 15 21 22 23 24 25 31 32 33 34 35
  3 Kommentare
Toru Ikegami
Toru Ikegami am 3 Dez. 2021
早とちりでしたね.すみません.
こんな感じでしょうか.もっとスマートなやり方があるかもしれませんが・・・
x = (1:20)';
y = [ceil(x/5) mod(x-1,5)+1];
disp(y);
1 1 1 2 1 3 1 4 1 5 2 1 2 2 2 3 2 4 2 5 3 1 3 2 3 3 3 4 3 5 4 1 4 2 4 3 4 4 4 5
Daiki
Daiki am 3 Dez. 2021
早い解答ありがとうございます。 とても悩んでいたので、助かりました!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu 行列および配列 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!