Turning a 2x80 to an 80x80

3 ビュー (過去 30 日間)
Christian Basa
Christian Basa 2021 年 4 月 16 日
コメント済み: Les Beckham 2021 年 4 月 17 日
I was wondering how I could change the size of a matrix that already contains values by adding zeros, but still keeping those values the same. I'm just trying to expand the matrix, not match it to the size of another. Anything helps.

回答 (1 件)

Les Beckham
Les Beckham 2021 年 4 月 16 日
It really depend on how you want to expand the matrix.
If I understand what you want, you could try something like this:
initial = reshape(1:160,[2,80]);
final = zeros(80,80);
final(1:size(initial,1), 1:size(initial,2)) = initial;
final
  1 件のコメント
Les Beckham
Les Beckham 2021 年 4 月 17 日
Actually, the easiest way to do this is probably to use the way that Matlab expands a matrix when you assign to an element that doesn't exist yet (by filling with zeros).
initial = reshape(1:160,[2,80]); % some initial values 2x80
final = initial; % copy the initial values
final(80, 80) = 0; % expand the final array to 80x80, filling with zeroes

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMatrices and Arrays についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by