Minicurso de C++ para Matemática
Ajude a manter o site livre, gratuito e sem propagandas. Colabore!
4.6 Reduções
Reduções são operações que transformam uma matriz ou um arranjo em um escalar.
-
•
1Eigen::MatrixXd a {{1,2,3},
2 {4,5,6}};
3double s = a.sum();
4std::cout << "s = " << s << std::endl;
-
•
1double p = a.prod();
2std::cout << "p = " << p << std::endl;
-
•
1double m = a.mean();
2std::cout << "m = " << m << std::endl;
-
•
1double min = a.minCoeff();
2std::cout << "min = " << min << std::endl;
3double max = a.maxCoeff();
4std::cout << "max = " << max << std::endl;
-
•
1Eigen::MatrixXd b {{1,3},
2 {4,6}};
3
4double tr = b.trace();
5std::cout << "tr = " << tr << std::endl;
-
•
1Eigen::VectorXd v {{1,2,3}};
2Eigen::MatrixXd m {{1,2},
3 {3,4}};
4
5double v_norm = v.norm();
6std::cout << "v_norm = " << v_norm << std::endl;
7
8double m_norm = m.norm();
9std::cout << "m_norm = " << m_norm << std::endl;
n = 3.74166
m_norm = 5.47723
E. 4.6.1.
Faça um código que aloque os seguintes vetores
|
|
|
(4.16) |
|
|
|
(4.17) |
e compute a o produto interno (ou escalar) . Verifique seu resultado com o método u.dot(v) da Eigen.
1#include <iostream>
2#include <eigen3/Eigen/Eigen>
3
4int main()
5{
6 Eigen::VectorXd u {{1,2,3}};
7 Eigen::VectorXd v {{4,5,6}};
8
9 Eigen::VectorXd w(u.size());
10 w << u.array() * v.array();
11 std::cout << "u.v = " << w.sum() << std::endl;
12 std::cout << "u.dot(v) = " << u.dot(v) << std::endl;
13
14 return 0;
15}
E. 4.6.2.
Implemente uma função para computar o erro médio quadrático entre dois vetores u e v de mesmo tamanho. O erro médio quadrático é dado por
|
|
|
(4.18) |
1double EMQ(const Eigen::VectorXd& u, const Eigen::VectorXd& v)
2{
3 return ((u - v).array().pow(2)).sum() / u.size();
4}
Envie seu comentário
Aproveito para agradecer a todas/os que de forma assídua ou esporádica contribuem enviando correções, sugestões e críticas!

Este texto é disponibilizado nos termos da Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional. Ícones e elementos gráficos podem estar sujeitos a condições adicionais.