Save Structure to .mat-file in dialog via GUI

6 visualizzazioni (ultimi 30 giorni)
Hi everyone,
I have a GUI made in app designer in which I create a large structure with a lot of data. I now want to export/save the structure by klicking a button. This button should open a dialog in which the user is able to create a new file or to overwrite an existing file.
uisave();
and
struct = uisetfile;
are not working.
uisave() doesn't work with a structure and uisetfile requires an already existing file to write to. Is there a way to simply take that structure and write it in a .mat-file? It's not necessary to save as .mat but I think to afterwards load the data it would be the easiest way to save as .mat?!

Risposta accettata

Stephen23
Stephen23 il 8 Ott 2020
S = .. your big structure
[F,P] = uiputfile('*.mat');
save(fullfile(P,F),'-struct','S') % if S is scalar
save(fullfile(P,F),'S') % if S is non-scalar
Don't forget when loading it is strongly recommended to load into an output variable:
S = load(..)
  3 Commenti
Rik
Rik il 8 Ott 2020
You should first make it a separate variable:
S = app.S;
[F,P] = uiputfile('*.mat');
save(fullfile(P,F),'-struct','S') % if S is scalar
save(fullfile(P,F),'S') % if S is non-scalar
Dominik Müller
Dominik Müller il 8 Ott 2020
Thanks a lot! Now it works perfectly!!!!!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Develop Apps Using App Designer in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by