How to create a .mat file

36 views (last 30 days)
Thomas
Thomas on 22 Jul 2019
Commented: V Prakash on 6 Nov 2020
Hello,
I've been searching for clues in order to solve my problem but couldn't find anything and since I just start with Matlab, I'm a bit lost.
Here's the thing :
I need to create a .mat file which would contain the following arrays :
  • lattitude (1-10980)
  • longitude (ID)
  • time (43 dates)
  • the data (10980,10980,43)
The data are Sentinel 2 images (.tif) that I would like to stack in order to conduct Time Series analyses.
The script I've been provided with is EOF, and the data they use in their example are organised as previously (only, with less data).
Since I'm not familiar with .mat files, I think I only understood that they are organised like .nc or .hdf files (might not be though).
Anyway, even if they are, I clearly can't tell how to end up with my arrays organised like that.
Could somebody help ?
Thank you.
  2 Comments
Stephen23
Stephen23 on 22 Jul 2019
Edited: Stephen23 on 22 Jul 2019
"The script I've been provided with is EOF, and the data they use in their example are organised as previously (only, with less data)."
What does this mean ?
What do the tags "eof" (End Of File?) and "stack" refer to?
Thomas
Thomas on 22 Jul 2019
Edited: Thomas on 22 Jul 2019
EOF is a method of Time series analyse and stands for Empirical Orthogonal Functions. It allows the user to decompose the trends in his data according to its variance. The stack well... I mean by this organise my satellite images in a cube. A 3D matrix with y=latitude, x=longitude and z=temporal evolution of the quantified data in each image whatever it is.

Sign in to comment.

Accepted Answer

Stephen23
Stephen23 on 22 Jul 2019
Edited: Stephen23 on 22 Jul 2019
"How to create a .mat file"
Use save, which is the MATLAB command explicitly designed to write .mat files.
"I need to create a .mat file which would contain the following arrays..."
That is easy using save:
lat = [...]
lon = [...]
time = [...]
data = [...]
save('myFile.mat','lat','lon','time','data')
  2 Comments
Thomas
Thomas on 22 Jul 2019
Thank you !
V Prakash
V Prakash on 6 Nov 2020
Thank Thomas and Stephen for your answers. I think it will helpful for small data. How could it work for large dataset with more parameters? Is there any command to work with large dataset? Comment if any.

Sign in to comment.

More Answers (0)

Products


Release

R2017b

Community Treasure Hunt

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

Start Hunting!