MATLAB Answers


Populating values across a cell

Hari krishnan さんによって質問されました 2018 年 9 月 5 日
最新アクティビティ Hari krishnan さんによって コメントされました 2018 年 9 月 8 日
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;

  0 件のコメント

サインイン to comment.

1 件の回答

James Tursa
回答者: James Tursa
2018 年 9 月 5 日
編集済み: James Tursa
2018 年 9 月 5 日

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 件のコメント

Hari krishnan 2018 年 9 月 6 日
Hi, I tried as per your suggestion. Now it only performs action for the first cell.
James Tursa
2018 年 9 月 6 日
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 2018 年 9 月 8 日
@Hi James, I found the answer. Thank you.

サインイン to comment.

Translated by