1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/astraeux-phpnum

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Расширение PHP для научных вычислений: phpnum

phpnum — это расширение PHP для научных вычислений, вдохновлённое NumPy и NumPHP.

Смотрите документацию на китайском языке
https://github.com/phpnum/phpnum/blob/master/README.zh.md

Содержание

  1. Установка и настройка (# Installing/Configuring)
    • Требования (# Requirement)
    • Установка (# Installation)
  2. Классы и методы (# Classes and methods)
    • Использование (# Usage)
    • Характеристики (# Characteristics)
    • Статистика (# Statistics)
    • Арифметические операции (# Arithmetic Operations)
    • Универсальные функции (# Universal Functions)

Установка и настройка

Здесь вы найдёте всё необходимое для установки phpnum в вашей системе.

Требования

  • PHP 7 или более поздняя версия.

Установка

phpize
./configure
make && make install

Команда make install копирует файл num.so в подходящее место, но вам всё равно нужно включить модуль в конфигурационном файле PHP. Для этого либо отредактируйте файл php.ini, либо добавьте файл num.ini в каталог /path/to/php.d со следующим содержимым: extension=num.so.

Классы и методы

Использование

  1. Класс Num (# Class Num) — создаёт объект Num.
  2. Класс NumNdarray (# Class NumNdarray) — создаёт N-мерный массив (ndarray) объект.
  3. Печать (# Printing) — печатает объект ndarray.

Класс Num

Описание: Создаёт объект Num.
Пример

$num = new Num();

Класс NumNdarray

Описание: Создаёт N-мерный массив (ndarray) объект.
Параметры array: массив
Возвращаемое значение ndarray: объект
Пример

$num = new Num();
$ndarray = $num->array([[1.0, 2, 3], [2, 3, 4]]);

Печать

Описание: Печатает объект ndarray.
Пример

$num = new Num();
$ndarray = $num->array([[1.0, 2, 3], [2, 3, 4]]);
echo $ndarray;
/* вывод:
array([
  [1,2,3],
  [2,3,4]
])
*/

Характеристики

  1. getData (# getData) — данные массива ndarray.
  2. getShape (# getShape) — форма размерностей массива ndarray.
  3. getNdim (# getNdim) — количество размерностей массива ndarray.
  4. getSize (# getSize) — количество элементов в массиве ndarray.

getData

Описание: Данные массива ndarray.
Параметры Нет
Возвращаемое значение data: массив
Пример

$ndarray = $num->array([[1.0, 2, 3], [2, 3, 4]]);
$ndarray->getData(); // возвращает array([1.0, 2, 3], [2, 3, 4])

getShape

Описание: Форма размерностей массива ndarray.
Параметры Нет
Возвращаемое значение shape: массив
Пример

$ndarray = $num->array([[1.0, 2, 3], [2, 3, 4]]);
$ndarray->getShape(); // возвращает array(2, 3)

getNdim

Описание: Количество размерностей массива ndarray.
Параметры Нет
Возвращаемое значение ndim: LONG
Пример

$ndarray = $num->array([[1.0, 2, 3], [2, 3, 4]]);
$ndarray->getNdim(); // возвращает 2

getSize

Описание: Количество элементов в массиве ndarray.
Параметры Нет
Возвращаемое значение size: LONG
Пример

$ndarray = $num->array([[1.0, 2, 3], [2, 3, 4]]);
$ndarray->getSize(); // возвращает 6

Статистика

  1. amin (# amin) — возвращает минимум массива.
  2. amax (# amax) — возвращает максимум массива.

amin

Описание: Возвращает минимум массива.
Параметры ndarray: Объект
Возвращаемое значение amin: DOUBLE
Пример

$ndarray = $num->array([[3.2, 1.5, 1], [2.5, 4, 2]]);
$num->min($ndarray); // возвращает 1

amax

Описание: Возвращает максимум массива.
Параметры ndarray: Объект
Возвращаемое значение amax: DOUBLE
Пример

$ndarray = $num->array([[3.2, 1.5, 1], [2.5, 4, 2]]);
$num->amax($ndarray); // возвращает 4

Арифметические операции

  1. add (# add) — добавляет один массив к другому.
  2. sub (# sub) — вычитает один массив из другого.
  3. mult (# mult) — умножает один массив на другой.
  4. div (# div) — делит один массив на другой. Описание: Добавить массив к другому массиву

Параметры: ndarray: объект

Возвращаемое значение: ndarray: объект

Пример:

$a = $num->array([[1.0, 2, 3], [2, 3, 4]]);
$b = $num->array([[3.2, 1.5, 1], [2.5, 4, 2]]);
echo $a->add($b);
/* вывод:
массив([
  [4.2,3.5,4],
  [4.5,7,6]
])
*/

Описание: Вычесть массив из другого массива

Параметры: ndarray: объект

Возвращаемое значение: ndarray: объект

Пример:

$a = $num->array([[1.0, 2, 3], [2, 3, 4]]);
$b = $num->array([[3.2, 1.5, 1], [2.5, 4, 2]]);
echo $a->sub($b);
/* вывод:
массив([
  [-2.2,0.5,2],
  [-0.5,-1,2]
])
*/

Описание: Умножить массив на другой массив

Параметры: ndarray: объект

Возвращаемое значение: ndarray: объект

Пример:

$a = $num->array([[1.0, 2, 3], [2, 3, 4]]);
$b = $num->array([[3.2, 1.5, 1], [2.5, 4, 2]]);
echo $a->mult($b);
/* вывод:
массив([
  [3.2,3,3],
  [5,12,8]
])
*/

Описание: Разделить массив на другой массив

Параметры: ndarray: объект

Возвращаемое значение: ndarray: объект

Пример:

$a = $num->array([[1.0, 2, 3], [2, 3, 4]]);
$b = $num->array([[3.2, 1.5, 1], [2.5, 4, 2]]);
echo $a->div($b);
/* вывод:
массив([
  [0.3125,1.3333333333333,3],
  [0.8,0.75,2]
])

Универсальные функции

  1. power — первый элемент массива возводится в степень второго элемента массива поэлементно.

Описание: Первый элемент массива возводится в степень второго элемента массива поэлементно

Параметры: base: объект exponent: объект или число с плавающей точкой

Возвращаемое значение: array: массив

Пример:

$ndarray = $num->array([[0.5, 1], [0, 2]]);
$num->power($ndarray, 3);
// возвращает массив([[0.125, 1.0], [0.0, 8.0]])
  1. square — поэлементное возведение в квадрат элементов массива.

Описание: Поэлементное возведение в квадрат элементов массива

Параметры: ndarray: объект

Возвращаемое значение: array: массив

Пример:

$ndarray = $num->array([[0.5, 1], [0, 2]]);
$num->square($ndarray);
// возвращает массив([[0.5, 1.0], [0.0, 4.0]])
  1. sqrt — вычисление квадратного корня для каждого элемента массива.

Описание: вычисление квадратного корня для каждого элемента массива

Параметры: ndarray: объект

Возвращаемое значение: array: массив

Пример:

$ndarray = $num->array([[0.5, 1], [0, 2]]);
$num->sqrt($ndarray);
// возвращает массив([[0.70710678118654757, 1.0], [0.0, 1.4142135623730951]])
  1. exp — экспоненциальная функция для каждого элемента массива.

Описание: экспоненциальная функция для каждого элемента массива

Параметры: ndarray: объект

Возвращаемое значение: array: массив

Пример:

$ndarray = $num->array([[0.5, 1], [0, 2]]);
$num->exp($ndarray);
// возвращает массив([[1.6487212707001282, 2.7182818284590451], [1.0, 7.3890560989306504]])
  1. log — натуральный логарифм для каждого элемента массива.

Описание: натуральный логарифм для каждого элемента массива

Параметры: ndarray: объект

Возвращаемое значение: array: массив

Пример:

$ndarray = $num->array([[0.5, 1], [10, 2]]);
$num->log($ndarray);
// возвращает массив([[-0.69314718055994529, 0.0], [2.3025850929940459, 0.69314718055994529]])
  1. log10 — логарифм по основанию 10 для каждого элемента массива.

Описание: логарифм по основанию 10 для каждого элемента массива

Параметры: ndarray: объект

Возвращаемое значение: array: массив

Пример:

$ndarray = $num->array([[1e-1, 1], [10, 100]]); ### log10

**Описание**: логарифм по основанию 10, поэлементно.

##### *Параметры*

ndarray: *объект*

##### *Возвращаемое значение*

array: *массив*

##### Пример

$ndarray = $num->array([[-1.0, 0.0], [1.0, 2.0]]); $num->log10($ndarray); // возвращает array([[1.0, 0.0], [-0.1, -0.3]])


### sin

**Описание**: тригонометрический синус, поэлементно

##### *Параметры*

ndarray: *Объект*

##### *Возвращаемое значение*

array: *Массив*

##### Пример

$ndarray = $num->array([[0.5, 1], [0, 2]]); $num->sin($ndarray); // возвращает массив ([[0.47942553860420301, 0.8414709848078965], [0.0, 0.90929742682568171]])


### cos

**Описание**: косинус поэлементно

##### *Параметры*

ndarray: *Объект*

##### *Возвращаемое значение*

array: *Массив*

##### Пример

$ndarray = $num->array([[0.5, 1], [0, 2]]); $num->cos($ndarray); // возвращает массив [[0.87758256189037276, 0.54030230586813977], [1.0, -0.41614683654714241]]


### tan

**Описание**: вычисление тангенса поэлементно

##### *Параметры*

ndarray: *Объект*

##### *Возвращаемое значение*

array: *Массив*

##### Пример

$ndarray = $num->array([[0.5, 1], [0, 2]]); $num->tan($ndarray); // возвращает массив [[0.54630248984379048, 1.5574077246549023], [0.0, -2.1850398632615189]]


### ceil

**Описание**: возвращает наименьшее целое число, большее или равное входному значению, поэлементно

##### *Параметры*

ndarray: *Объект*

##### *Возвращаемое значение*

array: *Массив*

##### Пример

$ndarray = $num->array([[0.5, 1], [0, 2]]); $num->ceil($ndarray); // возвращает массив [[1.0, 1.0], [0.0, 2.0]]


### floor

**Описание**: возвращает наибольшее целое число, меньшее или равное входному значению, поэлементно

##### *Параметры*

ndarray: *Объект*

##### *Возвращаемое значение*

array: *Массив*

##### Пример

$ndarray = $num->array([[0.5, 1], [0, 2]]); $num->floor($ndarray); // возвращает массив [[0.0, 1.0], [0.0, 2.0]]


### fabs

**Описание**: вычисляет абсолютное значение каждого элемента массива

##### *Параметры*

ndarray: *Объект*

##### *Возвращаемое значение*

array: *Массив*

##### Пример

$ndarray = $num->array([[0.5, 1], [0, -2]]); $num->fabs($ndarray); // возвращает массив [[0.0, 1.0], [0.0, 2.0]]


Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Расширение PHP для научных вычислений. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/astraeux-phpnum.git
git@api.gitlife.ru:oschina-mirror/astraeux-phpnum.git
oschina-mirror
astraeux-phpnum
astraeux-phpnum
master