Turning a 2x80 to an 80x80

2 次查看(过去 30 天)
Christian Basa
Christian Basa 2021-4-16
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 CenterFile Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by