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

回答(2 个)

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
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:

类别

帮助中心File Exchange 中查找有关 Matrix Indexing 的更多信息

产品

版本

R2022b

标签

Community Treasure Hunt

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

Start Hunting!

Translated by