2014-03-31 202 views
0

我有一个Matlab的代码,你可以在这里看到:对于字符操作数,第一个和最后一个操作数冒号操作必须是char

function IWDalg(similarityMatrix,NumberOfSentencesInFile,NumberOfSentencesInAbstract) 
NumIWDs = str2int(NumberOfSentencesInFile); 
Numnodes=NumIWDs; 

av = 1; bv = 0.01; cv = 1; 
as = 1; bs = 0.01; cs = 1; 

soil = repmat(InitSoil,Numnodes,Numnodes); 
for i =1:NumIWDs 
    IWD{i}.vel = InitVel; 
    IWD{i}.tour = []; 
    IWD{i}.tour(1) =i; 
    IWD{i}.soil = 0; 

end 

我环路时,MATLAB试图编译的第一线对于条款我得到这个错误:

??? For colon operator with char operands, first and last operands must be char. 

我所以在matlab编程初学者。

致以问候

+0

我们应该如何回答这个问题而不知道'NumIWDs'是什么?很显然,这是'char'式的,但可以肯定的是,你必须告诉我们。 – glglgl

+0

这是一个角色。 –

+0

那么我不确定你是如何执行'str2int'的。这是您创建的功能吗?我无法在我的matlab版本上找到它(2013a)。在这种情况下,对于某些测试代码会很好,因为如果有人声明他有错误,则必须指定隐藏的自制函数。 – patrik

回答

2

试试这个。

NumIWDs = str2double(NumberOfSentencesInFile); 

应该转换焦炭为结肠执行。

+1

这当然是一个解决方案,但是** int **也适用于我。问题很可能是'str2int'做的事情不是它应该做的。 – patrik

相关问题