首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何逐行增加矩阵大小

如何逐行增加矩阵大小
EN

Stack Overflow用户
提问于 2018-02-23 17:07:43
回答 2查看 823关注 0票数 0

将增加矩阵行。允许重复行,行序列不是强制性的,而是预期的。新行大小可能会被原行大小整除,也可能不会被原行大小整除。

代码语言:javascript
运行
复制
A=[1 2 3; 4 5 6; 7 8 9]
B=resize(A,9,3)

这将增加到第9行和第11行(两个不同的输出)。列大小保持固定。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-23 18:25:07

如果输出必须为零填充,则只需对目标矩阵的右下角进行索引,并将其赋值为0。没有必要调用padarray阵列..。Matlab将自己处理所有其他事情:

代码语言:javascript
运行
复制
A = [1 2 3; 4 5 6; 7 8 9];

B = A;
B(9,3) = 0;

C = A;
C(11,3) = 0;

如果您想用重复来执行此操作,则可以使用爬虫功能,但它只能产生与原始矩阵有关的大小倍数。因此,需要为第二个目标作出更多努力:

代码语言:javascript
运行
复制
A = [1 2 3; 4 5 6; 7 8 9];

B = repmat(A,3,1);

C = repmat(A,4,1);
C = C(1:11,:);
% or C(12,:) = [];

我能找到的最后一种选择需要更多的手工操作(用于复制)。例如,假设您希望目标矩阵再次为零填充,那么:

代码语言:javascript
运行
复制
A = [1 2 3; 4 5 6; 7 8 9];
[A_rows,A_cols] = size(A);

B = zeros(9,3);
B(1:A_rows,1:A_cols) = A;

C = zeros(11,3);
C(1:A_rows,1:A_cols) = A;

zeros替换为onesNaN将分别返回一个填充矩阵或NaN填充矩阵。

票数 2
EN

Stack Overflow用户

发布于 2018-02-23 18:11:45

这看起来像你想要的东西吗?

代码语言:javascript
运行
复制
A=[1 2 3; 4 5 6; 7 8 9];
pad = zeros(6,3);
B= [A; pad]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48952928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档