Read variable in .mat workspace
5 ビュー (過去 30 日間)
Racheal Butt 2022 年 3 月 23 日
回答済み: Peter Perkins 2022 年 3 月 24 日
Hi, I used the MATLAB mobile app to log sensor data (gyroscope, acceleration, etc), and it is saved as a .mat file. When I load it on MATLAB, it loads a workspace of variables.
The variables of the workspace of the .mat file is as follows:
I can access the acceleration timetable values with the code below:
matfile = "MobileSensorData/log3.mat"; %filename of the created .mat file from MATLAB Mobile
ld = load(matfile);
accel = [ld.Acceleration.X ld.Acceleration.Y ld.Acceleration.Z];
A snippet of the Acceleration timetable is as follows:
The issue I'm having is that I cannot access the variable t as I want to plot acceleration values against time
to display the t values but comes with the error: Unrecognized field name "t".
Here's a snippet of the t variable:
Any help is greatly appreciated! I'm not too familiar with MATLAB, but am using it for my final year report.
Thank you in advance!
Stephen23 2022 年 3 月 24 日
@Racheal Butt: please upload a sample .mat file by clicking the paperclip button.
Note that you should NOT use the variable name MATFILE, as this is the name of a useful unbuilt function.
回答 (1 件)
Peter Perkins 2022 年 3 月 24 日
Rachael, the times are not part of the data, they are "metadata". But as your screenshot shows, the row times of the Acceleration timetable are named Timestamp. So, plot(Acceleration.Timestamp,Acceleration.X) or whatever.
Your screenshots contradict your code snippet, though. ld = load(matfile); puts everything under the additional layer of a scalar struct.
I have no idea what t is.
Find more on Workspace Variables and MAT-Files in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!