Calculations for Each Table in a Cell

1 visualizzazione (ultimi 30 giorni)
Hello I have displacement and time data from 10 different trials stored as tables in a 10x1 cell. I am trying to calculate the velocity for each of the trials and store the data as a DOUBLE rather than a a table in a 10x1 cell.
Say CoPyData is the 10x1 cell with the 10 tables containing the time and displacement data. My code so far is:
CoPvAll = {}
for i =1:numel(CoPyData)
Trial = CoPyData{i,1}
CoPv_y = diff(Trial.Displacement)./diff(Trial.Time)
CoPv = [zeros(1);CoPv_y]
T = addvars(Trial,CoPv)
CoPvAll = {CoPvAll,T}
end
however this code is not correctly storing the data/calculated velocity back into a 10x1 cell and I am not sure how to convert the data from tables to doubles. Any help is greatly appreciated.

Risposta accettata

Matt J
Matt J il 3 Giu 2024
Modificato: Matt J il 3 Giu 2024
for i =1:numel(CoPyData)
Trial = CoPyData{i};
CoPv_y = diff(Trial.Displacement)./diff(Trial.Time);
CoPv = [zeros(1);CoPv_y];
CoPyData{i} = addvars(Trial,CoPv);
end
  3 Commenti
Matt J
Matt J il 3 Giu 2024
Assuming your table data is purely numeric, you can do as follows,
for i = 1:numel(CoPyData)
Trial = CoPyData{i};
CoPv_y = diff(Trial.Displacement)./diff(Trial.Time);
CoPv = [zeros(1);CoPv_y];
T = addvars(Trial,CoPv);
CoPyData{i}= double(T{:,:});
end

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by