Bonjour,
J'ai quelques problèmes avec assignin
Comment se fait-il que matlab m'avertisse dans le cas 2/ et pas le cas 1/. Comment se fait il dans le cas 2/ qu'il m'interdise une opération qui ne plante pas ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 function test_assignin_caller() f= @(name) assignin('caller', name, 1); % Ma fonction f() assigne la valeur 1 à la variable [name] dans le caller %workspace. %1/ Ceci marche sans avoir besoin de définir k localement f('k'); z= []; z(k)=1 ; %2/ ceci ne marche pas % Matlab me dit [??? Subscript indices must either be real positive integers or logicals], mais le debugger montre bien les variables i et j dans le workspace, et la ligne s'execute sans erreur avec F9 !!! z=[];f('i');f('j'); z(i,j)= 1; %3/ ceci marche car i et j sont définis localement i=0;j=0; z=[];f('i');f('j'); z(i,j)= 1;
Merci d'avance
Partager