Spline function to detect zero crossing
Mostrar comentarios más antiguos
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
Respuestas (2)
Star Strider
el 21 de Mzo. de 2014
0 votos
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 comentarios
Melitta
el 24 de Mzo. de 2014
Star Strider
el 24 de Mzo. de 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
el 24 de Mzo. de 2014
Star Strider
el 24 de Mzo. de 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
el 25 de Mzo. de 2014
Star Strider
el 25 de Mzo. de 2014
Editada: Star Strider
el 25 de Mzo. de 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
el 24 de Mzo. de 2014
0 votos
The Curve Fitting Toolbox gives lots of different functions for fitting splines to your data
Categorías
Más información sobre Spline Postprocessing en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!