Calculations for Each Table in a Cell

1 vue (au cours des 30 derniers jours)
Isabelle Museck
Isabelle Museck le 3 Juin 2024
Commenté : Isabelle Museck le 3 Juin 2024
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.

Réponse acceptée

Matt J
Matt J le 3 Juin 2024
Modifié(e) : Matt J le 3 Juin 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 commentaires
Matt J
Matt J le 3 Juin 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
Isabelle Museck
Isabelle Museck le 3 Juin 2024
Thank you so much!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Characters and Strings dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by