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
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
Related matlab Questions & Solutions
Browse All →
Explore similar technical troubleshooting questions and verified MATLAB solutions:
Ready-to-Run MATLAB & Simulink Projects
Browse All Projects →