mykola-ivashchuk-gl / complex
支持PHP 5.5.9的复数操作PHP类
2.0.0
2020-08-26 10:42 UTC
Requires
- php: ^7.2 || ^8.0
Requires (Dev)
- dealerdirect/phpcodesniffer-composer-installer: ^0.7.0
- phpcompatibility/php-compatibility: ^9.0
- phpdocumentor/phpdocumentor: 2.*
- phploc/phploc: ^4.0
- phpmd/phpmd: 2.*
- phpunit/phpunit: ^7.0 || ^8.0 || ^9.3
- sebastian/phpcpd: ^4.0
- squizlabs/php_codesniffer: ^3.4
README
有什么变化?
添加了对PHP 5.5.9的支持
处理复数的PHP类
该库目前提供以下操作
- 加法
- 减法
- 乘法
- 除法
- 除以
- 除入
以及以下函数:
- theta(极角)
- rho(极距离/半径)
- 共轭
- 负数
- 倒数(复数的倒数)
- cos(余弦)
- acos(反余弦)
- cosh(双曲余弦)
- acosh(反双曲余弦)
- sin(正弦)
- asin(反正弦)
- sinh(双曲正弦)
- asinh(反双曲正弦)
- sec(正割)
- asec(反正割)
- sech(双曲正割)
- asech(反双曲正割)
- csc(余割)
- acsc(反正割)
- csch(双曲余割)
- acsch(反双曲余割)
- tan(正切)
- atan(反正切)
- tanh(双曲正切)
- atanh(反双曲正切)
- cot(余切)
- acot(反正切)
- coth(双曲余切)
- acoth(反双曲余切)
- sqrt(平方根)
- exp(指数)
- ln(自然对数)
- log10(以10为底的对数)
- log2(以2为底的对数)
- pow(实数的幂)
使用方法
要创建一个新的复数对象,您可以提供实部、虚部和后缀部分作为单独的值,或者作为构造函数传递的值的数组;或者是一个表示值的字符串。例如
$real = 1.23;
$imaginary = -4.56;
$suffix = 'i';
$complexObject = new Complex\Complex($real, $imaginary, $suffix);
或者
$real = 1.23;
$imaginary = -4.56;
$suffix = 'i';
$arguments = [$real, $imaginary, $suffix];
$complexObject = new Complex\Complex($arguments);
或者
$complexString = '1.23-4.56i';
$complexObject = new Complex\Complex($complexString);
复数对象是不可变的:每次您调用一个方法或向一个返回复数值的函数传递复数值时,都会返回一个新的复数对象,而原始对象将保持不变。这也允许您像使用流畅接口那样链式调用多个方法(只要它们是返回复数结果的方法)。
执行数学运算
要使用复数值执行数学运算,您可以针对复数值调用适当的方法,传递其他值作为参数
$complexString1 = '1.23-4.56i';
$complexString2 = '2.34+5.67i';
$complexObject = new Complex\Complex($complexString1);
echo $complexObject->add($complexString2);
或将所有值传递给适当的函数
$complexString1 = '1.23-4.56i';
$complexString2 = '2.34+5.67i';
echo Complex\add($complexString1, $complexString2);
如果您要对多个值执行相同的操作(例如,要添加三个或更多复数),则可以将多个参数传递给任何操作。
您可以将这些参数作为复数对象传递,或作为将解析为复数对象的数组或字符串。
使用函数
当调用复数值的任何可用函数时,您可以通过调用复数对象的相关方法
$complexString = '1.23-4.56i';
$complexObject = new Complex\Complex($complexString);
echo $complexObject->sinh();
或者您可以像在过程代码中一样调用函数,将复数对象作为参数传递
$complexString = '1.23-4.56i';
$complexObject = new Complex\Complex($complexString);
echo Complex\sinh($complexObject);
当使用函数过程调用时,您可以以复数对象、数组或字符串的形式传递参数,该字符串将解析为复数对象。
$complexString = '1.23-4.56i';
echo Complex\sinh($complexString);
在调用 pow()
函数(唯一需要额外参数实现的函数)时,需要按照程序方式传递两个参数
$complexString = '1.23-4.56i';
$complexObject = new Complex\Complex($complexString);
echo Complex\pow($complexObject, 2);
或者调用方法时传递额外参数
$complexString = '1.23-4.56i';
$complexObject = new Complex\Complex($complexString);
echo $complexObject->pow(2);