silaoA 发表于 2014-7-10 17:22:44

ATP中MODEL模块语法错误,急求帮助

在原有模型的MODEL模块做一点点改动
[*](1)新添加了两个变量,并在VAR部分声明,在INIT部分初始化为0;[*](2)将其中的一两句注释,使用注释符"-- ",注释中含中文;[*](3)在被注释的语句下,添加了自己的新语句,主要是做绝对值、正负号计算,不超过5处;   可是,修改完以后编译一直提示错误The program is reporting a syntax error in the MODELS section of the data case.
Interpretation of the model description had reached the last character of the following text when the error was detected.,然后接下来是一堆ERROR,KILL = 401。可是我睁大眼睛也不知道语法错误在哪里。 Fortran语言较古老,语法我并不熟悉。
   希望高手前来解答,谢谢,感激不尽!

silaoA 发表于 2014-7-10 17:23:59

额,我尼玛好像又找到错误了,什么MODEL名称含有非法字符(我用了连接号),必须是数字、字母、下划线

silencelw 发表于 2014-7-12 17:05:33

你吧程序贴出来才知道

whw_stop 发表于 2015-3-11 09:22:54

程序呢 没有程序怎么看

Sisyphe 发表于 2016-7-26 17:14:28

我也是遇到相同的问题欸,不过是说
"KILL=453. The current group of characters is interpreted as a name beginning with character other than a letter.
The first character of a name must be a letter."
茫然,哪位高人知道这是为啥么?

伊尹 发表于 2016-7-28 11:02:51

Sisyphe 发表于 2016-7-26 17:14
我也是遇到相同的问题欸,不过是说
"KILL=453. The current group of characters is interpreted as a nam ...

model命名有问题

Sisyphe 发表于 2016-7-28 11:43:41

伊尹 发表于 2016-7-28 11:02
model命名有问题

我已经找到问题了。是FORTRAN语言里某个变量的平方不是是在变量后面加这个符号“^”。
现在又是这个问题。。
KILL = 455.Only static minimum and maximum limits can be assigned in this case, each specified individually as follows:

   MIN : expression
   MAX : expression

我写程序的时候都是参考它自带的模块写的,老是报错,人都不好了= =
还是感谢你的回复哈

Sisyphe 发表于 2016-7-28 11:45:00

伊尹 发表于 2016-7-28 11:02
model命名有问题


我把程序发给你看看吧,麻烦你看看有没有什么错误啊。。。
MODEL HAMMERSTEIN
INPUT         Vgk,Vak
DATA            B1,B2,B3,B4,B5,B6,B7,Vt,Vd
VAR             A1,A2,A3,Vb,Ib
OUTPUT          V1
HISTORY         V1{DFLT:0}
INIT
                A1:=0
                A2:=0
                A3:=0
                Vb:=0
                Ib:=0
ENDINIT
EXEC
---------------------------------------------------
    A1:=B1*Vgk+B2*Vgk*Vgk+B3*Vgk*Vgk*Vgk
    A2:=B4/(1+B5*(Vgk-Vt))
    A3:=B6+B7*Vgk
    Vb:=Vgk-Vt+Vd
    Ib:=A1*tanh(A2*(Vb-Vd))
---------------------------------------------------
    IF    Vgk<=Vt
    OR    Vak<Vd
    THEN
    V1:=0
    ENDIF      
---------------------------------------------------
    IF    Vgk>Vt
    AND   Vak<Vb
    AND   Vak>=Vd
       THEN
             V1:=A1*tanh{A2(Vak-Vd)}
    ENDIF
---------------------------------------------------
    IF    Vgk>Vt
    AND   Vak>=Vb
       THEN
             V1:=Ib+A3*(Vak-Vb)
    ENDIF
---------------------------------------------------
    ENDEXEC
ENDMODEL


zola 发表于 2016-9-3 21:49:06

VAR             A1,A2,A3,Vb,Ib, V1             (V1 要宣告為變數,)

V1:=A1*tanh{A2(Vak-Vd)}               (將大括號 { } 改成小括號 (),數學運算只用小括號,大括號是用來宣告歷史資料或上下限)

希望有幫助

guowei067 发表于 2017-1-5 21:32:12

History 命令怎么用,什么含义?
页: [1] 2
查看完整版本: ATP中MODEL模块语法错误,急求帮助

招聘斑竹