Incrémentation d'une expression (2) MATLAB

Résolu/Fermé
yoyo - 22 oct. 2008 à 23:15
 yoyo - 23 oct. 2008 à 17:45
Bonjour, voilà mon problème sous MATLAB:

j'ai des variables g1, g2, g3,...gN (j'ai réussi à incrémenter leur nom grace à la fonction eval et num2str suivant le code fournit par sacabouffe) que j'aimerais introduire en argument d'une fonction. L'exemple suivant éclaircit mon propos:

g7=geomcomp({g1,g2,g3,g4,g5,g6},'ns',{'R1','R2','R3','R4','R­5','R6'},'sf','R1+R2+R3+R4+R5+R6','edge','none');

est ce que je souhaite écrire mais non pas pour N=6 mais pour N=170. Je ne compte pas le faire à la main. Quelqu'un pourrait il me fournir la syntaxe appropriée pour parvenir à affecter la valeur désirée à la variable gN+1???

Je ne pense pas que ce soit à l'aide de fprintf étant donné que cela permet d'écrire mais cela ne fournit pas les valeurs stockées dans les variables.

Merci de votre aide!!!

PS: je suis sur plusieurs projets et en ce moment le temps m'est compté...pour cette raison, il m'est difficile de me lancer dans la doc...C'est pourquoi je vous remercie de me répondre en me donnant un code déjà tout fait si pour vous ce code vous paraît évident, ou une idée de code...je sais que j'en demande peut être beaucoup, et je vous suis pour cette raison particulièrement reconnaissant!
A voir également:

2 réponses

Sacabouffe Messages postés 9427 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 29 mai 2009 1 832
23 oct. 2008 à 00:05
Salut
function gnpu = charac(n)

sn='';
rn='';
gn='';

for p=1:n

    sn = [sn 'R' num2str(p) '+'];
    rn = [rn '''R' num2str(p) ''','];
    gn = [gn 'g' num2str(p) ','];
    
end

gnpu = ['geomcomp({' gn(1:end-1) '},''ns'',{' rn(1:end-1) '},''sf'',''' sn(1:end-1) ''',''edge'',''none'');'];
Après il y a plus qu'à faire
eval(['g' num2str(n+1) ' = ' charac(n)]);
Et pas la peine de poster en double, on est pas à ton service.

Bonne nuit
2
Merci tu me sauves, j'ai rien à ajouter.
0