2014-02-07 37 views
-1

我正在處理這段代碼,它將存儲在一個數組中的句子複製到另一個數組中。 'text1'是存儲我所有句子的數組,C1是句子必須複製到的數組。在matlab中處理字符串

text11x8數組,其中text1(1,1)包含第一句,text1(1,2)包含第二句等等。 以下是我寫的內容拷貝從text1C1代碼:

for i=1:vr 
     if(Track(i)<0) 

      text1{1,i}; 
      C1(1,j)=text1(1,i) 
      j=j+1; 
     end 
end 

有人可以幫助我在此先感謝?

回答

1

既然你沒有包括任何既沒有text1,Track也沒有vr的例子,我無法測試任何東西。但是,如果它的單元陣列錯誤地分配C1。改爲使用C1{1,i} = text{1,i}

但是,如果您想將text1中的所有內容都複製到一個新的單元陣列中,則其內容完全相同C1 = text1;將會這樣做。

+0

謝謝。你知道我可以分配一個字符串的任何方式,比如說C(1),text ='我對單元格很棒'? –

+0

do'C {1} ='我很感激'' – Fija

+0

您需要注意'C(1)'和'C {1}'之間的區別。 – Fija

0

你初始化單元C1j

j = 1; 
C1 = {}; 
for i=1:length(text1) 
     if(Track(i)<0) 
      text1{1,i}; 
      C1(1,j)=text1(1,i) 
      j=j+1; 
     end 
end 
+0

是的,我已經初始化C1和j。 Track是一個整數數組,它的值是複製完成的。但是,當我嘗試打印C1的內容時,得到的輸出是: C1 = [1x150 char] [1x150 char] –

+0

@Geethu Proivde你的數據,啓動等等。就像這樣,我們只能猜測你有什麼和沒有什麼。 – Marcin

+0

是text1單元格數組嗎? 'C1'是'[1x150 char]'表明它本身就是一個單元。試試我上面做的編輯。 – Sidd

1

如果Track是一個數組,你應該能夠做到這一點如下(使用邏輯索引):

C1 = text1(Track < 0); 

或者類似的東西來,取決於你的數據的確切結構。

+0

,它仍然不起作用。 –

+2

@Geethu Proivde您的數據,初始化等例子像這樣,我們可以猜測只有你有什麼和你沒有。 – Marcin