How to create a .mat file

36 vues (au cours des 30 derniers jours)
Thomas
Thomas le 22 Juil 2019
Commenté : V Prakash le 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 commentaires
Stephen23
Stephen23 le 22 Juil 2019
Modifié(e) : Stephen23 le 22 Juil 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 le 22 Juil 2019
Modifié(e) : Thomas le 22 Juil 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.

Connectez-vous pour commenter.

Réponse acceptée

Stephen23
Stephen23 le 22 Juil 2019
Modifié(e) : Stephen23 le 22 Juil 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 commentaires
Thomas
Thomas le 22 Juil 2019
Thank you !
V Prakash
V Prakash le 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.

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by