Bibliothèque standard C++<valarray>

C++'s<valarray>La bibliothèque est une bibliothèque de calcul numérique, offrant un moyen efficace de gérer des tableaux numériques.<valarray>Dans la bibliothèquevalarrayLe modèle de classe permet aux programmeurs d'effectuer des opérations mathématiques élément par élément sur des tableaux, notamment l'addition, la soustraction, la multiplication, la division, etc. En outre, il prend également en charge des fonctions mathématiques plus avancées telles que l'exponentielle, le logarithme, le sinus, le cosinus, etc.

valarrayIl s'agit d'un modèle de classe de la bibliothèque standard C++ utilisé pour représenter et manipuler des tableaux numériques. Il fournit un moyen pratique d'effectuer des opérations élément par élément sur des tableaux.

Syntaxe

valarrayLa syntaxe de base est la suivante :

#include <valarray>

int main() {
    std::valarray<double> va(10); // 创建一个包含10个double元素的valarray
    va = 1; // 将所有元素初始化为1
    // ...
    return 0;
}

Exemple

1. Créer et initialiser un valarray

Exemple

#include <iostream>
#include <valarray>

int main() {
    std::valarray<double> va(5); // Créer un valarray contenant 5 éléments double
    va = {1.0, 2.0, 3.0, 4.0, 5.0}; // Initialiser valarray

    for (auto i : va) {
        std::cout << i << " ";
    }
    std::cout << std::endl;

    return 0;
}

Sortie :

1 2 3 4 5

2. Opérations de base

Exemple

#include <iostream>
#include <valarray>

int main() {
    std::valarray<double> va1(5), va2(5);
    va1 = {1.0, 2.0, 3.0, 4.0, 5.0};
    va2 = {2.0, 3.0, 4.0, 5.0, 6.0};

    std::valarray<double> sum = va1 + va2; // Addition
    std::valarray<double> diff = va1 - va2; // Soustraction
    std::valarray<double> prod = va1 * va2; // Multiplication
    std::valarray<double> quot = va1 / va2; // Division

    std::cout << "Somme: ";
    for (auto i : sum) {
        std::cout << i << " ";
    }
    std::cout << std::endl;

    std::cout << "Différence: ";
    for (auto i : diff) {
        std::cout << i << " ";
    }
    std::cout << std::endl;

    std::cout << "Produit: ";
    for (auto i : prod) {
        std::cout << i << " ";
    }
    std::cout << std::endl;

    std::cout << "Quotient: ";
    for (auto i : quot) {
        std::cout << i << " ";
    }
    std::cout << std::endl;

    return 0;
}

Sortie :

Sum: 3 5 7 9 11 
Difference: -1 -1 1 1 -1 
Product: 2 6 12 20 30 
Quotient: 0.5 0.6666667 0.75 0.8 0.8333334

3. Utilisation de valarray pour les opérations de fonctions mathématiques

Exemple

#include <iostream>
#include <valarray>
#include <cmath>

int main() {
    std::valarray<double> va(5);
    va = {1.0, 2.0, 3.0, 4.0, 5.0};

    std::valarray<double> squares = va * va; // Carré
    std::valarray<double> roots = std::sqrt(va); // Racine carrée

    std::cout << "Carrés : ";
    for (auto i : squares) {
        std::cout << i << " ";
    }
    std::cout << std::endl;

    std::cout << "Racines carrées : ";
    for (auto i : roots) {
        std::cout << i << " ";
    }
    std::cout << std::endl;

    return 0;
}

Sortie :

Squares: 1 4 9 16 25 
Square Roots: 1 1.4142136 1.7320508
autres extensions