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 Sep 11, 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
100% Run Guarantee
3-Hour Fast-Track Delivery
Need a Custom Version or Complete Simulation for This Problem?
Our 500+ PhD engineers build, debug, and optimize working MATLAB scripts and Simulink (.slx) models tailored to your exact assignment rubrics with zero plagiarism.
Tested on MATLAB R2024b / R2026a
Turnitin 0% Plagiarism Report
Free 7-Day Revisions Guarantee
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 →