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

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 Stimme

こんにちは,
一桁目だけを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

Daiki
Daiki am 3 Dez. 2021
解答ありがとうございます。 配列に格納した形で表すと下記のようにしたかったのです。 1列目 1 1 1 1 1 2 2 2 2 2 3 3 2列目 1 2 3 4 5 1 2 3 4 5 1 2
表記が紛らわしくてすいません。
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

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!