Search All of the Math Forum:
Views expressed in these public forums are not endorsed by
Drexel University or The Math Forum.
|
|
|
|
Re: Zero Crossing
Posted:
Jan 29, 2013 7:45 PM
|
|
On Wednesday, January 30, 2013 9:05:09 AM UTC+13, Pete wrote: > TideMan <mulgor@gmail.com> wrote in message <b59569bf-fa63-42d8-86d5-033c57434476@googlegroups.com>... > > > 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') > > > > Thats brilliant thanks! How is it now that i could select one of the zero crossing points (and in turn one wave) and calculate the crest height of the wave?
Throw away every second point: indx=indx(1:2:end); Set up a set of start and finish points; k=[indx(1:end-1) indx(2:end)]; Now, wave number iwave has crest: emx(iwave)=max(e1(k(iwave,1):k(iwave,2)); and wave height: H(iwave)=max(e1(k(iwave,1):k(iwave,2)) - ... min(e1(k(iwave,1):k(iwave,2));
|
|
|
|