flip the sign at zero crossing point

Illustration
aadisingh - 2021-06-10T12:39:49+00:00
Question: flip the sign at zero crossing point

I have an array vector (signal ) contains vales ones and zeros. e.g data set as follow     Data1 = [1,0,1,0,1,0,1,0,1,0]; I want to reverse the sign (phase) of values at zero-crossing points to become as follow Data1=[1, 0,-1, 0, 1, 0,-1, 0, 1, 0] do you know an elegant way to do that on a large data set?

Expert Answer

Profile picture of John Williams John Williams answered . 2025-11-20

>> Data1 = [1,0,1,0,1,0,1,0,1,0]
Data1 =
   1   0   1   0   1   0   1   0   1   0
>> Data2 = Data1.*cumprod([1,diff(Data1==0)])
Data2 =
   1   0  -1   0   1   0  -1   0   1   0


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!