MATLAB Answers

Rikke
0

How to extend/add elements to an array?

Rikke
さんによって質問されました 2019 年 4 月 15 日
最新アクティビティ Rikke
さんによって コメントされました 2019 年 4 月 17 日
I want to extend an array at the points were the array are 0.
For example an array like this:
A=[2 3 4 5 0 1 4 5 5 0 3 4 0 2 0 ];
At each zero in A i want to extend by B=[3 2 3 5];
so the new array will be:
C=[2 3 4 5 0 0 0 1 4 5 5 0 0 3 4 0 0 0 2 0 0 0 0 0];

  0 件のコメント

サインイン to comment.

2 件の回答

Andrei Bobrov
回答者: Andrei Bobrov
2019 年 4 月 15 日
編集済み: Andrei Bobrov
2019 年 4 月 16 日
 採用された回答

A = [2 3 4 5 0 1 4 5 5 0 3 4 0 2 0 ];
B = [3 2 3 5];
out = A(sort([find(A),repelem(find(A == 0),B)]));

  4 件のコメント

Rikke
2019 年 4 月 16 日
@Andrei
I wrote wrong in the first place, i want all the zeros to exceed so B will be for example:
B= [3 2 3 5];
out will then be =[2 3 4 5 0 0 0 1 4 5 5 0 0 3 4 0 0 0 2 0 0 0 0 0];
Andrei Bobrov
2019 年 4 月 16 日
Hi Rikke!
I fixed my answer.
Rikke
2019 年 4 月 17 日
Brilliant! Thanks!

サインイン to comment.


Rikke
回答者: Rikke
2019 年 4 月 16 日

I got the solution for B= [3 2 3 5]. Thanks Andrei!
A=[2 3 4 5 0 1 4 5 5 0 3 4 0 2 0 ];
B=[3 2 3 5];
jj = find(A == 0);
out = A(sort([find(A),jj,repelem(jj,B)]));
Madhan I think ii is if you want to add zeros to spesific zeros in the array and not all of them.

  1 件のコメント

madhan ravi
2019 年 4 月 16 日
Yes ;)

サインイン to comment.



Translated by