嵌套 IF 中的错误:在 (1) 处的表达式中需要右括号
Error in nested IF: Expected a right parenthesis in expression at (1)
我有一个嵌套的 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(包括空格),完全在限制范围内。这里有什么问题?
嗯,索引切片应该是 y(:,ind)
。此外,如果语句需要逻辑标量,那么您可以使用 all
或 any
,具体取决于您要实现的目标:
if( all( y(:,ind) == 0 ) ) then
或
if( any( y(:,ind) == 0 ) ) then
我有一个嵌套的 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(包括空格),完全在限制范围内。这里有什么问题?
嗯,索引切片应该是 y(:,ind)
。此外,如果语句需要逻辑标量,那么您可以使用 all
或 any
,具体取决于您要实现的目标:
if( all( y(:,ind) == 0 ) ) then
或
if( any( y(:,ind) == 0 ) ) then