Biblioteca estándar de C++<valarray>
de C++<valarray>La biblioteca es una biblioteca utilizada para el cálculo numérico, que proporciona una forma eficiente de manejar arreglos numéricos.<valarray>en la bibliotecavalarrayLa plantilla de clase permite a los programadores realizar operaciones matemáticas a nivel de elementos en arreglos, incluyendo suma, resta, multiplicación, división, etc. Además, también admite funciones matemáticas más avanzadas, como exponenciales, logaritmos, seno, coseno, etc.
valarrayEs una plantilla de clase en la biblioteca estándar de C++, utilizada para representar y manipular arreglos numéricos. Proporciona una forma conveniente de realizar operaciones a nivel de elementos en los arreglos.
Sintaxis
valarraySu sintaxis básica es la siguiente:
#include <valarray>
int main() {
std::valarray<double> va(10); // 创建一个包含10个double元素的valarray
va = 1; // 将所有元素初始化为1
// ...
return 0;
}
Ejemplo
1. Crear e inicializar valarray
Ejemplo
#include <valarray>
int main() {
std::valarray<double> va(5); // Crear un valarray que contenga 5 elementos double
va = {1.0, 2.0, 3.0, 4.0, 5.0}; // Inicializar valarray
for (auto i : va) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
Salida:
1 2 3 4 5
2. Operaciones básicas
Ejemplo
#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; // Suma
std::valarray<double> diff = va1 - va2; // Resta
std::valarray<double> prod = va1 * va2; // Multiplicación
std::valarray<double> quot = va1 / va2; // División
std::cout << "Sum: ";
for (auto i : sum) {
std::cout << i << " ";
}
std::cout << std::endl;
std::cout << "Difference: ";
for (auto i : diff) {
std::cout << i << " ";
}
std::cout << std::endl;
std::cout << "Product: ";
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;
}
Salida:
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. Usar valarray para operaciones de funciones matemáticas
Ejemplo
#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; // Cuadrado
std::valarray<double> roots = std::sqrt(va); // Raíz cuadrada
std::cout << "Squares: ";
for (auto i : squares) {
std::cout << i << " ";
}
std::cout << std::endl;
std::cout << "Square Roots: ";
for (auto i : roots) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
Salida:
Squares: 1 4 9 16 25 Square Roots: 1 1.4142136 1.7320508Otras extensiones