Incrémentation d'une expression (2) MATLAB

Résolu
yoyo -  
 yoyo -
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 10427 Statut Membre 1 835
 
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
yoyo
 
Merci tu me sauves, j'ai rien à ajouter.
0