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

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

采纳的回答

Akira Agata
Akira Agata 2024-4-23
まさしく 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 个评论
osamu
osamu 2024-4-23
ありがとうございます。
この関数を探していました!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

产品


版本

R2024a

Community Treasure Hunt

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

Start Hunting!