2011-03-31 38 views
0

保存在陣列瓦爾加載的文件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 

,如果我想要做的所有4個文件上面的循環,你將如何加載它們在載體或者什麼的,所以在每次迭代它其他數據?

所以我想避免:

data = t2; 

(loop) 

data = t3; 

(loop) 

等等

回答

1

你已經設置data=1,但用它喜歡在這條線的矩陣:scatter(data(:,1),data(:,2)) ...應該已經給了你一個Index exceeds matrix dimensions錯誤。

假設是一個錯字,那你只是想這樣做對的data不同的值,使用嵌套循環。

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

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

編輯

如果你的文件被命名爲t-{a,e,i,o,u}和數據變量的命名一樣,那麼你可以嘗試以下方法:

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

如果該名稱的文件不是數量它一樣嗎? – cMinor 2011-04-01 00:36:29

+0

'A =負載ta.txt; B =加載te.txt; C =負載ti.txt; D =加載to.txt; E =負載tu.txt; sets = [ta,te,ti,to,tu];' – cMinor 2011-04-01 00:38:36

+0

是'ta','tb'等所有相同的大小? – abcd 2011-04-01 01:12:51