Inserting zeros into another array at values in the second array

Hi, Lets have the following arrays:
A = [8 2 3 5 5 6 7 8 9];
B = [1 3 2 3]
Now, I want to write a code which can insert zeros into A after every location in B. So, my final output would be
F = [8 0 2 3 5 0 5 6 0 7 8 9 0]
Please let me know, what is the most efficient way of coding to implement this?
Thanks

Réponses (2)

Matt J
Matt J le 24 Nov 2023
Modifié(e) : Matt J le 24 Nov 2023
A = [8 2 3 5 5 6 7 8 9];
B = [1 3 2 3];
F=nan(1,numel(A)+numel(B));
F(cumsum(B)+(1:numel(B)) )=0;
F(isnan(F))=A
F = 1×13
8 0 2 3 5 0 5 6 0 7 8 9 0
Image Analyst
Image Analyst le 24 Nov 2023
This looks like a homework problem. If you have any questions ask your instructor or read the link below to get started:
Obviously we can't give you the full solution because you're not allowed to turn in our code as your own.
To learn fundamental concepts, invest 2 hours of your time here:

Catégories

En savoir plus sur Get Started with MATLAB dans Centre d'aide et File Exchange

Produits

Version

R2022b

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by