2014-02-07 34 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