I have emg signal (30000x4) and want to apply function on it in loop.... function waveLen = find_waveform_length(signal) sum=0; for i=2:length(signal) sum= sum + abs(signal(i)-signal(i-1)); end waveLen = sum; %%%%%% New file %%%%%%% load ('dath001.mat'); x = dath001; % 30000x4 for i = 1:4 waveLen(i) = find_waveform_length(x(i)) end but it give output of 0 0 0 0 instead if i run waveLen function separately it give output of 463.6428 200.0671 411.7511 372.9306 ... I want this output by simple apply loop command
John Michell answered .
2025-11-20
What is the 'y' you have used in your main script loop? Its not defined anywhere. Use this line in main script:
waveLen(i) = find_waveform_length(x(:,i))