MATLAB : générer un nom de variable
Résolu/Fermé
padawan
-
11 juin 2008 à 13:56
lazkike Messages postés 447 Date d'inscription vendredi 10 septembre 2004 Statut Contributeur Dernière intervention 14 décembre 2013 - 15 avril 2011 à 17:18
lazkike Messages postés 447 Date d'inscription vendredi 10 septembre 2004 Statut Contributeur Dernière intervention 14 décembre 2013 - 15 avril 2011 à 17:18
A voir également:
- MATLAB : générer un nom de variable
- Interpolation de lagrange matlab ✓ - Forum Matlab
- Courbe de tendance matlab ✓ - Forum Matlab
- Filtre moyenneur matlab - Forum Matlab
- Matlab 6.5 download - Forum Windows
- Filtre moyenneur et median - Forum Photo numérique
3 réponses
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
11 juin 2008 à 14:09
11 juin 2008 à 14:09
eval devrais fonctionner pourtant.
eval([ nom_variable "= nom_vecteur ;"]);
où nom_vecteur est le nom du ton vecteur et nom_variable, la variable dans laquelle la chaine de caractère entrée par l'utilisateur pour le nom de la variable est stocker.
Je ne vois pas pourquoi ça ne fonctionnerai pas chez toi et chez moi oui.
eval([ nom_variable "= nom_vecteur ;"]);
où nom_vecteur est le nom du ton vecteur et nom_variable, la variable dans laquelle la chaine de caractère entrée par l'utilisateur pour le nom de la variable est stocker.
Je ne vois pas pourquoi ça ne fonctionnerai pas chez toi et chez moi oui.
Poursuite des recherches infructueuses :
evalin('base',[ var{1} '=w ;']) ; ne fonctionne pas non plus (message d'erreur).
evalin('base',[ var{1} '=w ;']) ; ne fonctionne pas non plus (message d'erreur).
Bon voilà,
Je viens de trouver et je me rends compte que ce doit bien être une des eules formulations que je n'avais pas essayée : il me manbquait les crochets.
Pour ceux qui seraient intéressés, la solution est :
(dans ma fonction)
w = ones(1,7);
var = inputdlg('Enter variable name','Predicted label',1,{''});
assignin('base', [var{1}], w);
c'est évident une fois qu'on l'a trouvé!!
Je mets résolu!
Je viens de trouver et je me rends compte que ce doit bien être une des eules formulations que je n'avais pas essayée : il me manbquait les crochets.
Pour ceux qui seraient intéressés, la solution est :
(dans ma fonction)
w = ones(1,7);
var = inputdlg('Enter variable name','Predicted label',1,{''});
assignin('base', [var{1}], w);
c'est évident une fois qu'on l'a trouvé!!
Je mets résolu!
lazkike
Messages postés
447
Date d'inscription
vendredi 10 septembre 2004
Statut
Contributeur
Dernière intervention
14 décembre 2013
139
15 avril 2011 à 17:18
15 avril 2011 à 17:18
Merci pour la solution. ça marche nikel !
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
11 juin 2008 à 15:24
11 juin 2008 à 15:24
OK, je ne comprends pas trop, pour moi il suffit de définir une variable pour qu'elle aparaisse dans le workspace. Il me semblait que le workspace était une sorte de "who" graphique.
11 juin 2008 à 14:47
En fait le problème n'est pas là mais dans l'utilisation conjointe du eval et du assignin. C'est certainement une évidence pour les pros, mais bon je galère :
Ceci fonctionne :
w = ones(1,5);
var = inputdlg('Enter variable name','Predicted label',1,{''});
eval([ var{1} '=w ;'])
Mais après pour faire en sorte que cette nouvelle variable au contenu w et au nom fixé par l'utilisateur apparaisse dans la base workspace, je ne sais pas comment faire ...
assignin('base',?????????, w);
Merci.