# 警告(3401)
# 3401-1
# 警告信息
函数注解中导函数 %1!s! 的属性 %2!s! 的等式右边 %3!s! 不是输入变量, 该导函数声明无效.
# 产生原因
语义规定导函数属性 zeroDerivative 与 noDerivative 值应为独立于函数微分变量的输入参数, 否则产生警告3401.
# 解决方法
将导函数属性 zeroDerivative 与 noDerivative 值统一为独立于函数微分变量的输入参数.
# 示例
model _3401_1_AttrInDerAnnoWarning
function b
input Real x;
input Real z[:,2];
input Real x_der;
output Real y_der;
algorithm
y_der := x_der;
end b;
function temp
annotation (derivative(zeroDerivative = a) = b); // Warning:3401
//annotation (derivative(zeroDerivative = z) = b); // OK z是独立于函数微分变量的输入参数
input Real x;
input Real z[:,2];
output Real y;
algorithm
y := x + 1;
end temp;
Real a;
Real c[2,2];
Real result = temp(a, c);
end _3401_1_AttrInDerAnnoWarning;
# 3401-2
# 警告信息
函数注解中导函数 %1!s! 的属性 %2!s! 的等式右边的函数 %3!s! 不可导, 该导函数声明无效.
# 产生原因
函数注解中指定的导函数不可导.
# 解决方法
函数注解中等式右边的函数改为可导.
# 3401-3
# 警告信息
函数注解中导函数 %1!s! 的属性 %2!s! 中变量 %3!s! 的变型不是等式形式, 该导数声明无效.
# 产生原因
导函数属性 noDerivative 值应为等式变型, 不满足此限制时报出警告3401.
# 解决方法
将导函数属性 noDerivative 值统一为等式变型, 即形如 y=g(x) 形式方程.
# 3401-4
# 警告信息
函数注解中导函数 %1!s! 的属性 %2!s! 中 %3!s! 不是函数调用, 该导数声明无效.
# 产生原因
函数注解中导函数属性 noDerivative 的值 y=g(x) 形式, 其中 g(x) 必须为函数调用, 若给出的不是上述形式, 则报出警告3401.
# 解决方法
使函数注解中导函数属性 noDerivative 的值 y=g(x) 形式中 g(x) 为函数调用.