I have the following code:
%% Loading the data
rhoPart = 2540;files = dir(fullfile(uigetdir,'\**\*.data*'));[~,Index] = natsort({files.name});files = files(Index);folders = {files.folder};folder_groups = findgroups(folders);k = 1;for i = 1:length(files) fid = fopen(fullfile(files(i).folder,files(i).name),'r'); %% Reading the data % Read all the data from the file
dataRead = textscan(fid,'%f %f %f %f %f %f %f %f %f %f %f %f %f %f','HeaderLines',1); frewind(fid); % Write headerline N, time, xmin, ymin, zmin, xmax, ymax, zmax
runData{k} = strsplit(fgetl(fid), ' '); % Write only the x, y, and z components of the particles, particle radius,
% z component+ particle radius and volume of the particle
expData{k} = [dataRead{1}(:,1) dataRead{2}(:,1) dataRead{3}(:,1) dataRead{7}(:,1) dataRead{3}(:,1)+dataRead{7}(:,1) rhoPart*(4/3)*pi*(dataRead{7}(:,1).^3)]; % Write only the vx,vy,vz of the particles and magnitude
velData{k} = [dataRead{4}(:,1) dataRead{5}(:,1) dataRead{6}(:,1) sqrt(dataRead{4}(:,1).^2 + dataRead{5}(:,1).^2 + dataRead{6}(:,1).^2)]; fclose(fid); k = k + 1;end%% Classify (into a structure)
runData_struc = splitapply(@(x) {x}, runData, folder_groups);expData_struc = splitapply(@(x) {x}, expData, folder_groups);velData_struc = splitapply(@(x) {x}, velData, folder_groups);
This will give me the following cell array of runData_struct (see pictures)
As you can see this is a cell array in a cell array. I want to convert the 1×9 cell into a 1×9 double. For example:
runData_struc{1,1}
row 1: 1×9 double
row 2 :1×9 double
row 3: 1×9 double
…
row 2741: 1×9 double
runData_struc{1,2}
row 1: 1×9 double
row 2 :1×9 double
row 3: 1×9 double
…
row 2745: 1×9 double
I tried the following, but it gave me NaN as result:
Best Answer