2012-04-14 91 views
0

我有這個項目任務,我遇到了解決它的問題。
我從10個人口中採集了1到10個單詞的樣本。 從每個樣本中提取每個單詞,例如,我將所有樣本中的單詞1提取到不同的文件中。我現在有10個文件,每個文件都有提取的第一個單詞。我想將這些組合成一個單一的數組。將多個matlab文件中的變量提取到一個文件中

file = wavread('G:\Segmented Data\amir.wav');  
t = linspace(0,8,length(file));  
t2=linspace(0,.8,8820);  
section1 = file(1:8820,:);  
sound(section1, 11025);  
figure(1),  
plot(t2,section1); 

我有10個文件具有上述代碼。我想將所有這些變量部分提取到一個新文件中,並將它們存儲在一個數組中。

+0

修復您的縮進:http://en.wikipedia.org/wiki/Indent_style。當您撰寫文章時,請嘗試點擊「代碼」按鈕以查看有關如何格式化的提示。由於格式不佳,人們不太可能對此帖作出迴應。 – Shep 2012-04-14 09:13:34

+0

@Shep:我已經修好了縮進。它仍然沒有語法上的正確性('figure(1)'後的逗號是什麼?「),但至少我們現在可以讀取它。 – 2012-04-14 09:50:32

回答

0

你想concatenate arrays

>> a = 1.0:0.1:1.9 % your data, obtained from `wavread()` 

a = 

    1.0000 1.1000 1.2000 1.3000 1.4000 1.5000 1.6000 1.7000 1.8000 1.9000 

>> b = 2.0:0.1:2.9 % your data, obtained from `wavread()` 

b = 

    2.0000 2.1000 2.2000 2.3000 2.4000 2.5000 2.6000 2.7000 2.8000 2.9000 

>> c = 3.0:0.1:3.9 % your data, obtained from `wavread()` 

c = 

    3.0000 3.1000 3.2000 3.3000 3.4000 3.5000 3.6000 3.7000 3.8000 3.9000 

>> combined = [a; b; c] % a, b, and c in one array 

combined = 

    1.0000 1.1000 1.2000 1.3000 1.4000 1.5000 1.6000 1.7000 1.8000 1.9000 
    2.0000 2.1000 2.2000 2.3000 2.4000 2.5000 2.6000 2.7000 2.8000 2.9000 
    3.0000 3.1000 3.2000 3.3000 3.4000 3.5000 3.6000 3.7000 3.8000 3.9000 

這當然會,只要abc是相同的列數寬的工作。如果它們大小不同,則必須用零填充它們,以便它們的大小相同。

+0

yes tthis works.but問題是這些數組在不同的m文件中,不在同一個..a在file1.m中,而b在file2.mi中想要將這些文件合併到file3.m中 – faiza 2012-04-15 17:39:55

+0

@ shep ..ok我會照顧下一次 – faiza 2012-04-15 17:41:27

+0

@newbie:數據在不同的文件中並不重要。您已經知道如何從** one **文件中讀取數據 - 只需重複多次即可獲得文件。 – 2012-04-16 01:48:34

相關問題