Turning a 2x80 to an 80x80
2 次查看(过去 30 天)
显示 更早的评论
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.
0 个评论
回答(1 个)
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
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 Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!