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]

采纳的回答

Walter Roberson
Walter Roberson 2016-5-18
[repmat(A(1,:), n, 1);
repmat(A(2:end,:), m, 1)]
  2 个评论
Walter Roberson
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 CenterFile Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by