acosh.java

来自「JAVA 数学程序库 提供常规的数值计算程序包」· Java 代码 · 共 61 行

JAVA
61
字号
package jmathlib.toolbox.trigonometric;

import jmathlib.core.functions.ExternalElementWiseFunction;
import jmathlib.toolbox.jmathlib.matrix.log;
import jmathlib.toolbox.jmathlib.matrix.sqrt;

public class acosh extends ExternalElementWiseFunction
{
    
    public acosh()
    {
        name = "acosh";
    }
    
    /**Calculates the inverse hyperbolic cosine of a complex number
    @param arg = the angle as an array of double
    @return the result as an array of double*/ 
    public double[] evaluateValue(double[] arg)
    {
         double result[] = new double[2];
         //  acosh(z)  =  log(z + Sqrt(z*z - 1))
         double re = arg[REAL];
         double im = arg[IMAG];

         // _1:  z.Times(z).Minus(one) ...
         result[REAL]       =  ( (re*re) - (im*im) ) - 1.0;
         result[IMAG]  =  ( (re*im) + (im*re) ) - 0.0;

         // result:  _1.Sqrt() ...
         sqrt sqrtF = new sqrt();
         result = sqrtF.evaluateValue(result);

         // result:  z.Plus(result) ...
         result[REAL] =  re + result[REAL];         // !
         result[IMAG] =  im + result[IMAG];         // !

         // _1:  result.log() ...
         log logF = new log();
         result = logF.evaluateValue(result);

         // result:  _1 ...
         return  result;
     }

}

/*
@@GROUP
trigonometric
@SYNTAX
angle = ACOS(value)
@DOC
Returns the arc cosine of value.
@EXAMPLES
ACOS(1) = 0
ACOS(0) = 1.5707963267948966
@SEE
cos, acosh
*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?