How to graph data in cells?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hilary Kada
le 28 Juin 2020
Commenté : Turlough Hughes
le 29 Juin 2020
Hello!
I wrote a function called transformdata and I recently got some help being able to run that function for all the csv files I have in a folder (https://au.mathworks.com/matlabcentral/answers/555148-how-to-run-a-code-for-all-files-in-a-folder?s_tid=mlc_ans_email_ques). The output matrix of this function is three columns; the first is time, the second is acceleration and the third is velocity. Once I run the function on all the csv files the output is a cell, which contains the output matrix from the function for all the different csv files. Is there a way to graph all the output matricies from the cell on one graph, using the time column from the output matricies as the x-axis and then plotting the acceleration and velocity?
Am a real matlab beginner so any help would be great!
Thanks!
2 commentaires
Turlough Hughes
le 28 Juin 2020
Hi Hilary, could you attach the cell array as a .mat file. To save the variable, right click on it in the Workspace window and click Save as...
Also, as a beginner I recommend that you spend some time looking at the introductory onramp course for MATLAB.
Réponse acceptée
Turlough Hughes
le 28 Juin 2020
Modifié(e) : Turlough Hughes
le 28 Juin 2020
Your data has an empty cell in it so the first step here is to remove that
ToBeGraphed(cellfun(@isempty,ToBeGraphed))=[]; % remove empty cells
You can then graph as follows:
figure(), hold on
cellfun(@(x) plot(x(:,1),x(:,2)),ToBeGraphed)
ylabel('Acceleration')
yyaxis right % or replace with: figure(), hold on
cellfun(@(x) plot(x(:,1),x(:,3)),ToBeGraphed)
ylabel('Velocity')
xlabel('Time')
Replace the 4th line as indicated above if you'd like to have velocity and accelerations on seperate figures.
2 commentaires
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!