Can't convert UNKNOWN to REAL(4) at (1) FUNCTION muscl_slope(qim1, qi, qip1) RESULT(muscl_slope) REAL, INTENT(IN) :: qim1 REAL, INTENT(IN) :: qi REAL, INTENT(IN) :: qip1
时间: 2023-06-18 08:08:03 浏览: 138
该错误提示表明程序尝试将一个未知类型的变量转换为REAL(4)类型,而无法完成转换。您需要检查代码中的变量类型定义并确保它们与使用它们的函数或过程的参数类型相匹配。在这种情况下,您需要检查muscl_slope函数的定义,并确保输入参数qim1、qi和qip1的类型分别为REAL。如果输入参数的类型不是REAL,则需要进行相应的更改。
相关问题
Function result 'muscl_slope' at (1) has no IMPLICIT type
这个错误通常意味着您没有明确声明变量的数据类型。在Fortran中,如果您没有使用IMPLICIT NONE语句,则编译器将默认使用IMPLICIT规则来确定变量的数据类型。如果变量名称以A-H或O-Z之间的任何字母开头,则默认为实数类型。如果变量名称以I-N之间的任何字母开头,则默认为整数类型。
要解决此问题,您可以使用IMPLICIT NONE语句,在您的程序中明确声明所有变量的数据类型。例如:
```
program example
implicit none
real :: muscl_slope(10)
! rest of the code
end program example
```
在上面的示例中,我们使用IMPLICIT NONE语句并声明了一个实数类型的数组muscl_slope。这样,编译器将不会发出“Function result 'muscl_slope' at (1) has no IMPLICIT type”的错误消息。
muscl_slope = sign(dq,dql+dqr)
这看起来像是一个控制系统中的一个公式。根据我的理解,这个公式中的dq表示当前时刻系统的位置偏差,dql和dqr表示左右轮的速度偏差。sign()函数返回的是dq+dql+dqr的符号(即正号或负号),这个符号代表了机器人需要向左或向右调整的方向。muscl_slope则表示机器人需要施加的力或扭矩大小,具体的计算需要根据具体的系统参数和控制策略来确定。
阅读全文