How can I select a specific variable in the .mat file which contains different variables in the user interface?

4 vues (au cours des 30 derniers jours)
Hi! I want to design an app which can draw with a .mat file. How can I select a specific variable in the .mat file which contains different variables in the user interface? By 'text area' or something?

Réponse acceptée

Fangjun Jiang
Fangjun Jiang le 5 Déc 2019
  1. Use load() with return structure.
gongStruct = load('gong.mat');
fieldnames(gongStruct)
  1. Use matfile object.
Help matfile

Plus de réponses (1)

Cam Salzberger
Cam Salzberger le 5 Déc 2019
Modifié(e) : Cam Salzberger le 5 Déc 2019
Hello Kunpeng,
You may consider using whos to determine the variables available in a MAT file. Then you can specify the variable you want when you call load based on the user selection. This will be faster than loading the entire MAT file into the workspace, unless you expect the user to frequently switch between what they want loaded.
You may also consider checking out the matfile object, as Fangjun suggested.
-Cam
  5 commentaires
Stephen23
Stephen23 le 10 Mar 2020
"I have solved this problem with eval() function!"
A much better** solution is to load into an output variable, just like Fangjun Jiang's Answer shows, and then access its fields:
** better in the sense faster, more efficient, more robust, less buggy, much easier to debug. The approach you are using is not recommended:
Kunpeng Zhang
Kunpeng Zhang le 14 Mar 2020
Wow,that is awesome!!!I will study and try alternative methods. Thank you for your advice!!

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by