我有一个嵌套的IF构造如下:
if(tt-t(ind)<=t(ind+1)-tt) then
t(ind)=tt
y(:,ind)=yy
else
if((y:,ind) == 0) then
y(:,ind)=y(:,ind-1)
! If a certain sample point is skipped
! then assign previous sample value to it
endif
ind=ind+1
t(ind)=tt
y(:,ind)=yy
endif
我收到错误说
if((y:,ind) == 0) then
1
Expected a right parenthesis in expression at (1)
当我删除内部IF时,编译就可以了。我无法理解IF语句的错误。我也试过if((y:,ind) .EQ. 0)
,但这也没有任何区别。
行长为52,包括空格,并且完全在限制范围内。这有什么不对?
答案 0 :(得分:3)
好吧,索引切片应该是y(:,ind)
。此外,如果语句需要标量逻辑,那么您可以使用all
或any
,具体取决于您要实现的目标:
if( all( y(:,ind) == 0 ) ) then
或
if( any( y(:,ind) == 0 ) ) then