Creating certain amount of new rows from each row in a matrix?
1 次查看(过去 30 天)
显示 更早的评论
How can I create certain amount of rows from each row? For example
A=[a b c d
Then I want to create n new rows from the first row, and m new rows from the second and third row.
e f g h
i j k l]
from [a b c d] => Let n=2 =>
New rows [x y z k
t y j m]
2 个评论
采纳的回答
Walter Roberson
2016-5-18
[repmat(A(1,:), n, 1);
repmat(A(2:end,:), m, 1)]
2 个评论
Walter Roberson
2016-5-18
A1_n = repmat(A(1,:), n, 1);
A2_m = repmat(A(2,:), m, 1);
A3_m = repmat(A(3,:), m, 1);
Acol = size(A,2);
result = [A1_n + repmat((rand(n,1) * 2 - 1) / intensity, 1, Acol) .* A1_n;
A2_m + repmat(rand(m, 1) * 2 - 1, 1, Acol) .* A2_m;
A3_m + repmat(rand(m, 1) * 2 - 1, 1, Acol) .* A3_m];
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!