2016-08-11 209 views
0

我正在嘗試使用一個庫來進行其他人學習的多個實例。單元陣列MATLAB

這是解釋輸入的主要代碼。

function [Concepts,maxConcept,Iterations]=maxDD(PBags,NBags,Dim,Scales,SPoints,Epochs,Tol) 


PBags - An Mx1 cell array, the jth instance of ith positive bag is stored in PBags{i}(j,:) (1<=i<=M) 
NBags - An Nx1 cell array, the jth instance of ith negative bag is stored in Nbags{i}(j,:) (1<=i<=N) 

我是新來的單元格數組的概念。 我的數據如下。 一個包含400個實例的文本文件。

前200名被稱爲positiveintances..next200被稱爲negative。這些需要被分類爲42個正袋,然後是40個負袋(每個袋子包含1個實例) (將其視爲紅色和藍色郵箱。每個郵箱又將包含x個實例(對每個郵箱不同) 每個實例中的實例數在(42 + 40 = 82)維向量中給出。

示例4 5 6 ... 2含義4個參數轉到第一個郵箱,第5個到第二個等等

我如何給出正確的單元格數組形式的輸入。由於數據和該算法來自同一個庫,我想不管怎麼說,我已經在一個表格中的數據很容易轉換成單元格數組!

+0

我不明白這一點。你能舉一個「實例」的例子嗎?你能顯示你的文本文件的第一行嗎?並告訴我們如何識別「實例」?另外,編輯標題! –

+0

單元格數組只是一個數組,可以包含每個位置的內容。將數據轉換爲單元格數組將會是'a = {PBags}'。你可能想重新回答你的問題。 –

+0

每個實例都是1X166向量。每個包(+ ve或負)包含幾個實例。正面和負面的實例按順序列出(466x166矩陣)。在另一個文本文件的第一個元素中給出了屬於第一個包的第一個元素的數量,例如5。 –

回答

0

這個問題絕對可以更清楚,但基於我認爲你的意思... 我假設你有一個工作區中的單元格數組,並試圖從該單元格數組中輸入每個實例的內容到您打電話的MaxDD功能。 如果你想輸入整個1個* 166載體(「實例」)使用:

PBags{i} 

這會在我的位置(這應該是一個實例)返回單元格的內容。 這是假設PBags看起來是這樣的,當你查看變量: Screenshot of rand-filled cell array

PBags 
1x466 cell 
_________________________________________________________________ 
|1x166 double|1x166 double|1x166 double|1x166 double|1x166 double| ... 
----------------------------------------------------------------- 
|   |   |   |   |   | 
----------------------------------------------------------------- 
. 
. 
. 

如果每個1x166雙是上述提到的一個實例,並有466個實例。