Bonjour,
Je bloque depuis des heures sur un problème tout simple de chargement d'un fichier .mat dans une fonction.
Dans mon programme, quand je fais appel à la fonction load, ça me renvoie une structure. Je dois ensuite faire appel au nom de cette structure pour pouvoir accéder au données. Et là c'est le drame, impossible d'avoir accès au nom de la structure. J'ai essayé entre autres fieldnames(a), sprintf(a) ou de faire une boucle sur a... rien n'y fait je n'arrive pas à récupérer le nom de la structure mais uniquement son nom en apostrophe comme ceci : 'nom'. Et ce n'est pas une chaîne de caractère donc je ne sais pas comment enlever les apostrophes autour du nom pour avoir accès aux données.
Un problème surement tellement simple que je n'ai pas trouvé de solution sur internet, et ça me bloque sérieusement.
Voici mon code jusqu'à présent :
Il marche une fois sur deux car parfois le champs de la structure renvoyé par la fonction load est parfois différent de c ce qui reste un mystère pour moi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 c=uigetfile('*.mat','Select the mat-file'); if (c~=0) set(handles.fichier_charge, 'String', c); a=load(c) d=length(c) if(isfield(a,sprintf(c(1:d-4)))) %% b=a.(c(1:d-4)); else b=a.data; % (bidouillage) end handles.metricdata.Fichier_a_charger=b; guidata(hObject,handles) end
Merci pour votre aide!
Partager