My data is composed of four cells coming from 4 text files(length of num_files is 4 ). Within each cell values are stored in strings. I wanted to perform an operation in each cell of the data. Once the operation is completed, the data is saved to a cell data_pro .Unfortunately, in data_pro the values in the first cell is duplicated again in the rest of the cells. Any help to solve this will be appreciated.
num_files = length(filenames);
data_pro = cell(1);
for pp = 1:num_files
data_ts = data{pp}(:,1);
new_frame = contains(data_ts,'-');
frame_num = cumsum(newframe);
data_with_frames = [num2cell(frame_num) data{pp}];
data_pro{pp} = data_with_frames;
end

 Akzeptierte Antwort

James Tursa
James Tursa am 5 Sep. 2018
Bearbeitet: James Tursa am 5 Sep. 2018

0 Stimmen

There is nothing in your loop body that uses the index pp other than the data_pro{pp} assignment, so every data_pro{pp} is going to get the same assignment. Maybe you need to use something like data{pp} instead of data{1,1} in your loop body.

3 Kommentare

Hari krishnan
Hari krishnan am 6 Sep. 2018
Bearbeitet: Hari krishnan am 6 Sep. 2018
Hi, I tried as per your suggestion. Now it only performs action for the first cell.
James Tursa
James Tursa am 6 Sep. 2018
Step through with the debugger to see what is going on. Open up the code in the editor and click just to the left of a line number to set a break point, then run your code. When it pauses at the line, you can examine variables etc and step through your code one line at a time.
Hari krishnan
Hari krishnan am 8 Sep. 2018
@Hi James, I found the answer. Thank you.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by