Replace numbers into a vector starts at the center? Looking for general format
Show older comments
Suppose I have a vector vec with the length will be an odd number.
Then I have another vector vec1 with the length is also odd and less than the length of vec.
I want to put the elements of vec1 into vec that starts at the center of vec and go to both sides from the center.
I'm looking for a general format in case when the length is much more larger !!!
How can I do that?
Ex: This is just an example when length(vec) is 5. I know vec(2:4) = vec1
I'm looking for a general format in case when the length is much more larger !!!
vec = 0 0 0 0 0
vec1 = 1 1 1
new_vec = 0 1 1 1 0
Thank you!
Accepted Answer
More Answers (1)
Andrei Bobrov
on 14 Jun 2019
vec =[0 0 0 0 0 ];
vec1 = [1 1 1];
z = pad(join(string(vec1),''),numel(vec),'both','0');
out = z{:} - '0'
Categories
Find more on Debugging and Improving Code in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!