flip the sign at zero crossing point

A
aadisingh · Jun 10, 2021 · 2K views
Question
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 PhD Expert
Answered Aug 30, 2026
>> 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
Have a different question? Ask here

Get a Free Consultation or a Sample Assignment Review!