Populating values across a cell

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

 Risposta accettata

James Tursa
James Tursa il 5 Set 2018
Modificato: James Tursa il 5 Set 2018

0 voti

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 Commenti

Hari krishnan
Hari krishnan il 6 Set 2018
Modificato: Hari krishnan il 6 Set 2018
Hi, I tried as per your suggestion. Now it only performs action for the first cell.
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.
@Hi James, I found the answer. Thank you.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by