Lay one vector onto another
1 view (last 30 days)
Show older comments
Say you had two row vector:
filter = [0 0 0 0 0 0 0 0 0 0 ];
values = [1 2 1];
And the goal is to "lay the vector values onto the vector filter" like this:
new_filter = [0 0 1 2 1 0 0 0 0 0];
Here being done onward from index 3, or any other index.
How would that work?
2 Comments
Stephen23
on 11 May 2018
"Here being done onward from index 3, or any other index. How would that work?"
You said it yourself: using indexing. What have you tried so far?
Answers (1)
Cathal Cunningham
on 11 May 2018
One method would be a for loop
filter = [0 0 0 0 0 0 0 0 0 0 ];
values = [1 2 1];
startIdx = 3;
for i = startIdx:length(filter)-startIdx+1
new_filter = filter;
new_filter(i:i+length(values)-1) = values
end
Or you could try circshift
filter = [0 0 0 0 0 0 0 0 0 0];
values = [1 2 1];
startIdx = 3;
new_filter = filter;
new_filter(startIdx:startIdx+length(values)-1) = values
for i = 1:length(filter)
new_filter = circshift(new_filter,1)
end
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!