Spline function to detect zero crossing
Show older comments
Hi All,
I was hoping someone might be able to help me, I am not very good with Matlab so I apologise if this is a stupid question.
I have a series of data that changes over time from being negative to positive. I would like to detect the point at which the data crosses zero. I believe the best way to do this is using a spline curve but I am not sure how to write the routine. Can anyone help me please?!
Thanks
Mel
Answers (2)
Star Strider
on 21 Mar 2014
0 votes
Not a spline, but my answer to Fast zero-crossings with interpolation seems to work reasonably well. I can probably modify it to work with your data, but I have to know what your data are.
6 Comments
Melitta
on 24 Mar 2014
Star Strider
on 24 Mar 2014
That would help. Attach the file to your original post. I’ll check back here from time to time. (I would prefer a ‘.txt’ file rather than a spreadsheet page.)
Melitta
on 24 Mar 2014
Star Strider
on 24 Mar 2014
I thought the data were going to be a relatively continuous (if noisy) line. It’s instead a scattergram. It’s probably possible to fit a function to it if you want, but if you simply want to know the values of X (Column 1) are for Y (Column 3) less than zero, that’s easy:
xylz = V((V(:,3)<0),1); % X-values for Y < 0
yylz = V((V(:,3)<0),3); % Y-values for Y < 0
Using the find function is also an option.
Melitta
on 25 Mar 2014
Star Strider
on 25 Mar 2014
Edited: Star Strider
on 25 Mar 2014
I labeled your data as matrix V after eliminating all the ‘DIV/0!’ entries, and the last couple lines that didn’t make sense to me. I should have explained that.
I have a robust background in physiology and physiological measurement from both basic science and clinical perspectives, so I did my best to make sense of your data. Unfortunately, I couldn’t. I didn’t see any obvious relationship.
I assume VO2 is oxygen consumption, and Hb is haemoglobin, but I’m not sure what HHb and HHb.VO2 are. If HHb.VO2 is (HHb x VO2), I strongly suggest you not regress it against VO2, since it’s correlated with VO2 by the way you have defined it. The results will be meaningless.
Matt J
on 24 Mar 2014
0 votes
The Curve Fitting Toolbox gives lots of different functions for fitting splines to your data
Categories
Find more on Spline Postprocessing 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!