Filter löschen
Filter löschen

配列を拡張する方法を教えて下さい

5 Ansichten (letzte 30 Tage)
osamu
osamu am 23 Apr. 2024
Kommentiert: osamu am 23 Apr. 2024
M行N列の2次元配列を、要素数がnM行nN列になるように拡張したいです。
値は元の要素が左上になるように配置されることが必要です。
図の例は2倍に拡張した例ですが、この場合は必ず右、下、右斜め下に対して同じ値を持つようにしたいのですが、
intrpt2関数を用いた方法では用意されている内挿methodに適したものがなく、たとえば"nearest"を使うと一番端の要素が狙い通りなりません。
またfor文を使って無理やり拡張する方法は計算時間がかかってしまうため、他に方法が良いアイディアや関数などあれば教えていください。

Akzeptierte Antwort

Akira Agata
Akira Agata am 23 Apr. 2024
まさしく repelem 関数の出番です。
たとえば頂いた例だと、以下のようになります。
% 対象となる配列
A = [1 2; 3 4];
% それぞれの要素を繰り返す
B = repelem(A, 2, 2);
% 結果を表示
disp(B)
1 1 2 2 1 1 2 2 3 3 4 4 3 3 4 4
  1 Kommentar
osamu
osamu am 23 Apr. 2024
ありがとうございます。
この関数を探していました!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Logical finden Sie in Help Center und File Exchange

Produkte


Version

R2024a

Community Treasure Hunt

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

Start Hunting!