MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today**New to MATLAB?**

Asked by Melitta
on 21 Mar 2014

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

*No products are associated with this question.*

Answer by Star Strider
on 21 Mar 2014

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.

Show 3 older comments

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

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

What does V represent in the above function? Sadly this is as clean and continuous as physiological data get!

Thank you for your help

Star Strider
on 25 Mar 2014

I labeled your data as matrix ** V** after eliminating all the

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.

Answer by Matt J
on 24 Mar 2014

The Curve Fitting Toolbox gives lots of different functions for fitting splines to your data

http://www.mathworks.com/help/curvefit/index.html#splines

You could then use FNZEROS to find their zero crossings.

## 0 Comments