2011-03-31 5 views
0

JeEnregistrer dans le tableau vars des fichiers chargés Matlab

load t1.txt; 
load t2.txt; 
load t3.txt; 
load t4.txt; 

data=t1; 

vector =[ 2 , 3 , 4 , 5 , 6 ]; 
for i = vector 
    [TempFlag, MemberInd] = ismember(i, vector); 
    fprintf('vector(%d) is %d\n', MemberInd, i); 
    scatter(data(:,1),data(:,2)) 
end 

si je veux faire la boucle au-dessus avec tous les 4 fichiers, comment voulez-vous les charger dans un vecteur ou quelque chose, donc à chaque itération, il ne autre informations?.

Je veux éviter:

data = t2; 

(loop) 

data = t3; 

(loop) 

etc ...

Répondre

1

Vous avez défini data=1, encore utilisé comme une matrice dans cette ligne: scatter(data(:,1),data(:,2)) ... qui aurait dû donné vous une erreur Index exceeds matrix dimensions.

En supposant que c'était une faute de frappe, et que vous voulez juste le faire pour différentes valeurs de data, utilisez des boucles imbriquées.

data=[1,2,3,4]; 
vector=[2,3,4,5,6]; 

for i=data 
    for j=vector 
     <do stuff here> 
    end 
end 

EDIT

Si vos fichiers sont nommés t-{a,e,i,o,u} et les variables de données sont le même nom, vous pouvez alors les opérations suivantes:

fileName={'ta','te','ti','to','tu'}; 
for i=1:length(fileName) 
    dummy=load(sprintf('%s.txt',fileName{i})); 
    eval(sprintf('data=dummy.%s',fileName{i})); 
    <other stuff here> 
end 
+0

Si les fichiers de nom ne sont pas le numéro est c'est pareil? – cMinor

+0

'A = charger ta.txt; B = charge te.txt; C = charge ti.txt; D = charger to.txt; E = charger tu.txt; ensembles = [ta, te, ti, to, tu]; ' – cMinor

+0

sont' ta', 'tb', etc tous de la même taille? – abcd

Questions connexes