Hi guys!
Im trying to understand the zero crossing points that uses interpolation approximation which I found the code here in the threads of matlab.
the code that I found it is this:
x=1:length(y);zci = @(v) find(v(:).*circshift(v(:), [-1 0]) <= 0);% Returns Approximate Zero-Crossing Indices Of Argument Vector
dy = zci(y);% Indices of Approximate Zero-Crossings
for k1 = 1:size(dy,1)-1 b = [[1;1] [x(dy(k1)); x(dy(k1)+1)]]\[y(dy(k1)); y(dy(k1)+1)]; % Linear Fit Near Zero-Crossings
x0(k1) = -b(1)/b(2); % Interpolate ‘Exact’ Zero Crossing
mb(:,k1) = b; % Store Parameter Estimates (Optional)
end
I almost understand the code but I didn't understand the statement of b = [[1;1] [x(dy(k1)); x(dy(k1)+1)]]\[y(dy(k1)); y(dy(k1)+1)]; what does it stand for?
what does this statement mean? I want to understand what this statement does exactly , any help? thanks alot.
does it take a row of matrix and devide it by another row matrix and the result is stored in b? I really just missunderstanding that row among others rows in the code.
all what I need is a detalied explanation what this row b = [[1;1] [x(dy(k1)); x(dy(k1)+1)]]\[y(dy(k1)); is about ? and what it does functionality (takes two rows of matrix and devide between each other?) ?
thanks alot.
Best Answer