Еще вариант
Код:
unction fNi1000_TK5000: real;
var_input //объявление входных переменных
R : real;
end_var
var //объявление локальных переменных
A : real := 5.585e-9;
B : real := 5.172e-6;
C : real := 4.427e-3;
p, q, d, y : real;
end_var
fNi1000_TK5000 := -9999;
if R > 790 and R < 1630 then
p := (3 * A * C - B * B) / (3 * A * A);
R := 1 - R / 1000;
q := (2 * pow(B,3) - 9 * A * B * C + 27 * A * A * R) / (27 * pow(A,3));
d := q * q / 4 + pow(p,3) / 27;
y := pow((-q/2 + pow(d,0.5)),1/3) - pow((q/2 + pow(d,0.5)),1/3);
fNi1000_TK5000 := y - B / (3 * A);
end_if
end_function
здесь я тупо решил уравнение 3-го порядка
Безымянный.png