how do I relate two arrays with a reference point ?
3 views (last 30 days)
Show older comments
Given array y=[1 2 3 5 7] and x= [-2 -1 0 1 2 ] I need to generate a code that by inserting n number of zeroz between the y vector (expanding the vector)
ie: y=[1 0 0 2 0 0 3 0 0 5 0 0 7] would also expand the size of the x array by maintaining the zero as the center value x= [-6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 ] so that when the plotting the x&y values would result as a shift of the y values over the x axis with 0 as a reference.
This should work for both even and odd number of lengths of the x and y arrays.
I hope i could the expalnation was clear enough!
Cheers!
0 Comments
Accepted Answer
Bruno Luong
on 17 Aug 2019
y=[1 2 3 5 7]; x= [-2 -1 0 1 2 ]
nz = 2; % number of zeros to be inserted
y(end+nz,:) = 0;
y = y(1:end-nz)
x = (0:length(y)-1)-(nz+1)*(find(x==0)-1)
0 Comments
More Answers (1)
Banister
on 17 Aug 2019
Not the most efficient, but,
if mod(length(y),2)
x = -ceil(length(y)/2):ceil(length(y)/2); % odd vector length
else
x = -length(y)/2:length(y)/2-1; % -1 on the other side to change zero position
end
0 Comments
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!