How to repeat each elements of matrix irregularly
1 次查看(过去 30 天)
显示 更早的评论
Hello everyone, i have a matrix like:
A =
0.2978 -0.7649 -2.8475 3.4084
And i want to repeat the elements of matrix but differently for each element. For example, i want to repeat 0.2978 two times, -0.7649 three times, -2.8475 two times, and 3.4084 four times. So it will look like:
B =
0.2978 0.2978 -0.7649 -0.7649 -0.7649 -2.8475 -2.8475 3.4084 3.4084 3.4084 3.4084
What is the way to do that? Thank you.
0 个评论
采纳的回答
Sulaymon Eshkabilov
2021-5-27
Hi,
This is an easy solution to your exercise. You can adjust it w.r.t your exercise conditions:
A =[0.2978 -0.7649 -2.8475 3.4084];
AA=[];
for ii = 2:numel(A)
AA = [AA, repmat(A(ii-1), 1, ii)];
end
Good luck.
更多回答(1 个)
Image Analyst
2021-5-27
Use repelem():
A =[0.2978 -0.7649 -2.8475 3.4084]
B = repelem(A, [2 : length(A) + 1])
3 个评论
Image Analyst
2021-5-28
编辑:Image Analyst
2021-5-28
Wow, about time to upgrade. There has been so many improvements in the last 7 years as you can imagine. You can edit the release even after you post you know. I've done it for you this time.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!