使用eps时出错.....类必须是'单个'或'双'

时间:2017-01-18 16:37:19

标签: matlab

我的代码遇到问题是错误(使用eps ..... Class必须是'single'或'double')。这是由于以下代码行

beta=sqrt  (  (0.5*nthroot((Tt + (sqrt(-Delta/27))),3)) + ...
     (0.5*nthroot((Tt - (sqrt(-Delta/27))),3)) -(1/3*T)  );

1 个答案:

答案 0 :(得分:3)

函数nthroot在其代码中调用函数eps,并将变量的类传递给nthroot,该变量应该与第一个输入参数具有相同的类。正如nthroot的文档所指定的那样,它只支持singledouble精度输入,所以你对该函数的第一个参数可能不是其中之一(我的猜测是它可能是{ {3}},因此您必须转换为integer typesingle)。