Incrémentation du nom de variable sous MatLab
Résolu/Fermé
Bonjour, je débute en MATLAB et j'aimerais incrémenter le nom d'une variable. Typiquement, j'ai besoin de générer des variables A1,A2,...,An, auxquelles j'affecte des valeurs numériques. Par exemple,
for i=1:n,
Ai=expression dépendante de i;
end;
Le problème c'est que je n'arrive pas à trouver clairement la méthode pour y parvenir.
Je remercie vraiment celui qui peut m'aider à résoudre ce problème.
for i=1:n,
Ai=expression dépendante de i;
end;
Le problème c'est que je n'arrive pas à trouver clairement la méthode pour y parvenir.
Je remercie vraiment celui qui peut m'aider à résoudre ce problème.
A voir également:
- I++ matlab
- I showkeyplus - Télécharger - Utilitaires
- I o on off ✓ - Forum Loisirs / Divertissements
- Bouton on off o i - Forum Word
- Ou i ou a a ✓ - Forum Musique / Radio / Clip
- I deux point ✓ - Forum Windows
4 réponses
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 835
17 oct. 2008 à 19:57
17 oct. 2008 à 19:57
Salut
for p=1:n eval(['A' num2str(p) ' = expression dépendant de p']); end;À plus
Scoleproj
Messages postés
231
Date d'inscription
lundi 22 septembre 2008
Statut
Membre
Dernière intervention
8 août 2022
26
17 oct. 2008 à 19:53
17 oct. 2008 à 19:53
generalement on incrimante de cette maniere
for i:=1 to n do
ai:=i+1;
end;
je ne sais si jai bien repondu a ta question
for i:=1 to n do
ai:=i+1;
end;
je ne sais si jai bien repondu a ta question
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 835
18 oct. 2008 à 00:38
18 oct. 2008 à 00:38
Eheh ! De rien ;-)
À la prochaine !
À la prochaine !
Salut à vous !
J'aurai encore une autre question concernant l'utilisation de la fonction eval...
Je veux faire une procédure utilisant la fonction imhist pour réaliser des tests sur des sets d'images.
Ce que je fais pour l'instant est ceci :
for i= 1:N
eval([ '[hSp' num2str(i) ' ,xSp] =imhist(Sp ' int2str(i) ' (:,:, ' num2str(i) ' ),nColonnes)] ']);
end
Ce que je veux c'est sortir les variables hSp et xSp de la fonction. hSp varie mais xSp reste le même d'où la non incrémentation de xSp.
Pour un seul set, le code marche sous la forme
for i= 1:size(Sc1,3)
[hSc,xSc]=imhist(Sc1(:,:,i),nColonnes);
HScT = HScT+hSc;
end
mais je n'arrive pas à réaliser cette incrémentation...
Auriez vous une idée ?
Il doit s'agir d'une erreur d'appel de fonction au sein de eval. Deux eval imbriqués ne marchent pas non plus.
Merci d'avance....
Julien
J'aurai encore une autre question concernant l'utilisation de la fonction eval...
Je veux faire une procédure utilisant la fonction imhist pour réaliser des tests sur des sets d'images.
Ce que je fais pour l'instant est ceci :
for i= 1:N
eval([ '[hSp' num2str(i) ' ,xSp] =imhist(Sp ' int2str(i) ' (:,:, ' num2str(i) ' ),nColonnes)] ']);
end
Ce que je veux c'est sortir les variables hSp et xSp de la fonction. hSp varie mais xSp reste le même d'où la non incrémentation de xSp.
Pour un seul set, le code marche sous la forme
for i= 1:size(Sc1,3)
[hSc,xSc]=imhist(Sc1(:,:,i),nColonnes);
HScT = HScT+hSc;
end
mais je n'arrive pas à réaliser cette incrémentation...
Auriez vous une idée ?
Il doit s'agir d'une erreur d'appel de fonction au sein de eval. Deux eval imbriqués ne marchent pas non plus.
Merci d'avance....
Julien
Bonjour,
Je voulais savoir comment on incrémentait dans une fonction de matlab. En gros voilà ce que je veux faire:
for i = 1:4
eval(['y' num2str(i) ' = y(844800*i:844800*(i+1))']); % ça ça marche bien
eval(['c' nums2str(i) ' = cwt(y_i,[2:128],'morl')']); % et c'est la que ca marche pas!
save decoupage_signal.mat;
end
Je voulais savoir comment on incrémentait dans une fonction de matlab. En gros voilà ce que je veux faire:
for i = 1:4
eval(['y' num2str(i) ' = y(844800*i:844800*(i+1))']); % ça ça marche bien
eval(['c' nums2str(i) ' = cwt(y_i,[2:128],'morl')']); % et c'est la que ca marche pas!
save decoupage_signal.mat;
end