knd/php-math-biblio
Composer 安装命令:
composer require knd/php-math-biblio
包简介
Une bibliothèque mathématique complète conçue pour offrir des solutions efficaces et précises aux opérations et algorithmes mathématiques courants. La bibliothèque comprend des fonctionnalités pour l'arithmétique de base, l'algèbre, le calcul, les opérations sur les matrices et les calculs statistiq
README 文档
README
Knd\PhpMathBiblio
Knd\PhpMathBiblio est une bibliothèque PHP qui fournit des méthodes pour effectuer divers calculs mathématiques et physiques. Elle inclut des classes pour l'électromagnétisme, la dynamique des fluides et l'ingénierie mécanique. Table des matières
Installation
Classes et Méthodes
Électromagnétisme
Dynamique des fluides
Ingénierie mécanique
Ingénierie civile
Mathématiques de base
Exemples d'utilisation
Contributions
License
Installation
Assurez-vous d'avoir PHP installé sur votre machine. Vous pouvez ajouter cette bibliothèque à votre projet via Composer :
bash
composer require knd/php-math-biblio
Classes et Méthodes
- Électromagnétisme
Cette classe fournit des méthodes pour effectuer des calculs d'électromagnétisme.
Méthodes :
coulombsLaw(float $charge1, float $charge2, float $distance): float
Calcule la force électrostatique entre deux charges.
faradaysLaw(float $fluxChange, float $timeChange): float
Calcule la force électromotrice induite selon la loi de Faraday.
- Dynamique des fluides
Cette classe contient des méthodes pour effectuer des calculs en dynamique des fluides.
Méthodes :
bernoulliEquation(float $pressure1, float $velocity1, float $pressure2, float $velocity2, float $density): float
Calcule la pression en utilisant l'équation de Bernoulli.
volumetricFlowRate(float $area, float $velocity): float
Calcule le débit volumique.
- Ingénierie mécanique
Cette classe fournit des méthodes pour effectuer des calculs en ingénierie mécanique.
Méthodes :
calculateForce(float $mass, float $acceleration): float
Calcule la force à partir de la masse et de l'accélération.
calculateMoment(float $force, float $distance): float
Calcule le moment à partir de la force et de la distance.
calculateKineticEnergy(float $mass, float $velocity): float
Calcule l'énergie cinétique.
calculatePower(float $force, float $velocity): float
Calcule la puissance.
calculateWork(float $force, float $distance, float $angle = 0): float
Calcule le travail effectué.
calculatePressure(float $force, float $area): float
Calcule la pression.
calculateMomentOfInertia(array $masses, array $distances): float
Calcule le moment d'inertie.
calculateNaturalFrequency(float $stiffness, float $mass): float
Calcule la fréquence naturelle.
calculateElasticDeformation(float $force, float $originalLength, float $modulusOfElasticity, float $area): float
Calcule la déformation élastique.
calculateConcreteResistance(float $concreteStrength, float $area): float
Calcule la résistance d'un béton.
- Ingénierie civile
La classe CivilEngineering fournit des méthodes pour effectuer des calculs liés à l'ingénierie civile.
Méthodes :
stress(float $force, float $area): float
Calcule la contrainte en pascals (Pa).
strain(float $deltaLength, float $originalLength): float
Calcule la déformation (sans unité).
beamDeflection(float $load, float $length, float $elasticityModulus, float $inertia): float
Calcule la flèche d'une poutre en mètres (m).
calculateBricks(float $length, float $height, float $brickLength, float $brickHeight, float $jointThickness): int
Calcule le nombre de briques nécessaires pour un mur.
calculateMasonryTime(int $numberOfBricks, int $bricksPerDay): float
Calcule le temps nécessaire pour maçonner un certain nombre de briques.
- Mathématiques de base
La classe CoreMath fournit des méthodes pour effectuer des opérations mathématiques de base.
Méthodes :
matrixAdd(array $matrixA, array $matrixB): array
Additionne deux matrices.
matrixMultiply(array $matrixA, array $matrixB): array
Multiplie deux matrices.
solveLinearSystem(array $matrix, array $rhs): array
Résout un système d'équations linéaires par la méthode de Gauss.
Exemples d'utilisation
- Électromagnétisme
php
use Knd\PhpMathBiblio\Electromagnetism;
// Loi de Coulomb $force = Electromagnetism::coulombsLaw(1e-6, 2e-6, 0.1); echo "Force électrostatique: $force N\n";
// Loi de Faraday $emf = Electromagnetism::faradaysLaw(0.05, 2); echo "Force électromotrice: $emf V\n";
- Dynamique des fluides
php
use Knd\PhpMathBiblio\FluidDynamics;
// Équation de Bernoulli $pressure = FluidDynamics::bernoulliEquation(101325, 10, 0, 15, 1.225); echo "Pression calculée: $pressure Pa\n";
// Débit volumique $flowRate = FluidDynamics::volumetricFlowRate(0.1, 5); echo "Débit volumique: $flowRate m³/s\n";
- Ingénierie mécanique
php
use Knd\PhpMathBiblio\MechanicalEngineering;
// Force $force = MechanicalEngineering::calculateForce(10, 9.81); echo "Force: $force N\n";
// Moment $moment = MechanicalEngineering::calculateMoment($force, 2); echo "Moment: $moment Nm\n";
// Énergie cinétique $kineticEnergy = MechanicalEngineering::calculateKineticEnergy(10, 15); echo "Énergie cinétique: $kineticEnergy J\n";
// Puissance $power = MechanicalEngineering::calculatePower($force, 3); echo "Puissance: $power W\n";
// Travail $work = MechanicalEngineering::calculateWork($force, 5); echo "Travail: $work J\n";
// Pression $pressure = MechanicalEngineering::calculatePressure($force, 2); echo "Pression: $pressure Pa\n";
// Moment d'inertie $inertia = MechanicalEngineering::calculateMomentOfInertia([2, 3], [1, 2]); echo "Moment d'inertie: $inertia kg·m²\n";
// Fréquence naturelle $frequency = MechanicalEngineering::calculateNaturalFrequency(1000, 10); echo "Fréquence naturelle: $frequency Hz\n";
// Déformation élastique $deformation = MechanicalEngineering::calculateElasticDeformation(500, 2, 200e9, 0.01); echo "Déformation élastique: $deformation m\n";
// Résistance du béton $concreteResistance = MechanicalEngineering::calculateConcreteResistance(25, 0.5); echo "Capacité portante du béton: $concreteResistance kg\n";
- Ingénierie civile
php
use Knd\PhpMathBiblio\CivilEngineering;
// Contrainte $stress = CivilEngineering::stress(1000, 5);
// Déformation $strain = CivilEngineering::strain(0.02, 2);
// Flèche d'une poutre $deflection = CivilEngineering::beamDeflection(5000, 6, 200000000000, 0.0001);
// Nombre de briques $numberOfBricks = CivilEngineering::calculateBricks(5, 3, 0.2, 0.1, 0.01);
// Temps de maçonnerie $masonryTime = CivilEngineering::calculateMasonryTime(100, 50);
- Mathématiques de base
php
use Knd\PhpMathBiblio\CoreMath;
// Addition de matrices $result = CoreMath::matrixAdd([[1, 2], [3, 4]], [[5, 6], [7, 8]]);
// Multiplication de matrices $result = CoreMath::matrixMultiply([[1, 2], [3, 4]], [[5, 6], [7, 8]]);
// Résolution d'un système d'équations linéaires $result = CoreMath::solveLinearSystem([[2, -1], [1, 1]], [1, 3]);
Contributions
Les contributions à la bibliothèque sont les bienvenues. Si vous souhaitez contribuer, veuillez ouvrir une pull request sur le dépôt GitHub. License
Cette bibliothèque est sous licence MIT. Veuillez consulter le fichier LICENSE pour plus de détails.
knd/php-math-biblio 适用场景与选型建议
knd/php-math-biblio 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 0 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 10 月 12 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 knd/php-math-biblio 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 knd/php-math-biblio 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 10
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2024-10-12