Date: Jan 28, 2013 2:14 PM
Author: Derek Goring
Subject: Re: Zero Crossing
On Tuesday, January 29, 2013 5:08:08 AM UTC+13, Pete wrote:

> Hi,

>

> I'm very new to matlab and need to calculate individual wave crest heights from ocean wave height data. So far i have selected the column of data that i want to look at and cut the data size down slightly. I think the next step is to use the sign function to get 1's, -1's and 0's from the data. Here's what I have so far:

>

>

>

> s=load('sample.txt');

>

> e1=s(:,9);

>

> eta1=e1(6000:end);

>

> sgn=sign(e1);

>

> ff=find(sgn==0);

>

>

>

> Does anyone know what i have to do next? Any help would be great!

No, you need to find the points where the signs change:

t1=e1(1:end-1);

t2=e1(2:end);

tt=t1.*t2;

indx=find(tt<0);

Now, indx contains the locations of the zero crossings (upward and downward) as shown here:

t=[0:length(e1)-1]';

plot(t,e1,'b-',t(indx),e1(indx),'rx')