diff options
author | Carlos Becker <carlosbecker@gmail.com> | 2010-06-28 18:42:09 +0100 |
---|---|---|
committer | Carlos Becker <carlosbecker@gmail.com> | 2010-06-28 18:42:09 +0100 |
commit | 82e2e8b13a9c1bc59ec7f1c4618e83bd971c4123 (patch) | |
tree | 43c50eee4f8142d80dd8d1336ab30a7625d018e5 /doc/examples | |
parent | bdef7eb656f8bb5dcb2b6a81579552d673ce8caf (diff) |
Modified Array Class tutorial, added examples
Diffstat (limited to 'doc/examples')
-rw-r--r-- | doc/examples/Tutorial_ArrayClass_accessing.cpp | 24 | ||||
-rw-r--r-- | doc/examples/Tutorial_ArrayClass_addition.cpp | 22 | ||||
-rw-r--r-- | doc/examples/Tutorial_ArrayClass_addition_scalar.cpp | 17 | ||||
-rw-r--r-- | doc/examples/Tutorial_ArrayClass_interop.cpp | 38 | ||||
-rw-r--r-- | doc/examples/Tutorial_ArrayClass_interop_array.cpp | 34 | ||||
-rw-r--r-- | doc/examples/Tutorial_ArrayClass_interop_matrix.cpp | 41 | ||||
-rw-r--r-- | doc/examples/Tutorial_ArrayClass_mult.cpp | 20 |
7 files changed, 196 insertions, 0 deletions
diff --git a/doc/examples/Tutorial_ArrayClass_accessing.cpp b/doc/examples/Tutorial_ArrayClass_accessing.cpp new file mode 100644 index 000000000..812ba61a4 --- /dev/null +++ b/doc/examples/Tutorial_ArrayClass_accessing.cpp @@ -0,0 +1,24 @@ +#include <Eigen/Dense> +#include <iostream> + +using namespace Eigen; +using namespace std; + +int main() +{ + ArrayXXf m(2,2); + + //assign some values coefficient by coefficient + m(0,0) = 1.0; m(0,1) = 2.0; + m(1,0) = 3.0; m(1,1) = 4.0; + + //print values to standard output + cout << m << endl << endl; + + // using the comma-initializer is also allowed + m << 1.0,2.0, + 3.0,4.0; + + //print values to standard output + cout << m << endl; +} diff --git a/doc/examples/Tutorial_ArrayClass_addition.cpp b/doc/examples/Tutorial_ArrayClass_addition.cpp new file mode 100644 index 000000000..eae1957bd --- /dev/null +++ b/doc/examples/Tutorial_ArrayClass_addition.cpp @@ -0,0 +1,22 @@ +#include <Eigen/Dense> +#include <iostream> + +using namespace Eigen; +using namespace std; + +int main() +{ + ArrayXXf a(3,3); + ArrayXXf b(3,3); + + a << 1,2,3, + 4,5,6, + 7,8,9; + + b << 1,2,3, + 1,2,3, + 1,2,3; + + cout << "a + b = " << endl + << a + b << endl; +} diff --git a/doc/examples/Tutorial_ArrayClass_addition_scalar.cpp b/doc/examples/Tutorial_ArrayClass_addition_scalar.cpp new file mode 100644 index 000000000..1c2665287 --- /dev/null +++ b/doc/examples/Tutorial_ArrayClass_addition_scalar.cpp @@ -0,0 +1,17 @@ +#include <Eigen/Dense> +#include <iostream> + +using namespace Eigen; +using namespace std; + +int main() +{ + ArrayXXf a(3,3); + + a << 1,2,3, + 4,5,6, + 7,8,9; + + cout << "a + 2 = " << endl + << a + 2 << endl; +} diff --git a/doc/examples/Tutorial_ArrayClass_interop.cpp b/doc/examples/Tutorial_ArrayClass_interop.cpp new file mode 100644 index 000000000..72ac5d307 --- /dev/null +++ b/doc/examples/Tutorial_ArrayClass_interop.cpp @@ -0,0 +1,38 @@ +#include <Eigen/Dense> +#include <iostream> + +using namespace Eigen; +using namespace std; + +int main() +{ + MatrixXf m(2,2); + MatrixXf n(2,2); + + MatrixXf result(2,2); + + //initialize matrices + m << 1,2, + 3,4; + + n << 5,6, + 7,8; + + // mix of array and matrix operations + // first coefficient-wise addition + // then the result is used with matrix multiplication + result = (m.array() + 4).matrix() * m; + + cout << "-- Combination 1: --" << endl + << result << endl << endl; + + + // mix of array and matrix operations + // first coefficient-wise multiplication + // then the result is used with matrix multiplication + result = (m.array() * n.array()).matrix() * m; + + cout << "-- Combination 2: --" << endl + << result << endl << endl; + +} diff --git a/doc/examples/Tutorial_ArrayClass_interop_array.cpp b/doc/examples/Tutorial_ArrayClass_interop_array.cpp new file mode 100644 index 000000000..c2cb6bf3f --- /dev/null +++ b/doc/examples/Tutorial_ArrayClass_interop_array.cpp @@ -0,0 +1,34 @@ +#include <Eigen/Dense> +#include <iostream> + +using namespace Eigen; +using namespace std; + +int main() +{ + ArrayXXf m(2,2); + ArrayXXf n(2,2); + + ArrayXXf result(2,2); + + //initialize arrays + m << 1,2, + 3,4; + + n << 5,6, + 7,8; + + + // --> array multiplication + result = m * n; + + cout << "-- Array m*n: --" << endl + << result << endl << endl; + + + // --> Matrix multiplication + result = m.matrix() * n.matrix(); + + cout << "-- Matrix m*n: --" << endl + << result << endl << endl; +} diff --git a/doc/examples/Tutorial_ArrayClass_interop_matrix.cpp b/doc/examples/Tutorial_ArrayClass_interop_matrix.cpp new file mode 100644 index 000000000..b3d48b6ae --- /dev/null +++ b/doc/examples/Tutorial_ArrayClass_interop_matrix.cpp @@ -0,0 +1,41 @@ +#include <Eigen/Dense> +#include <iostream> + +using namespace Eigen; +using namespace std; + +int main() +{ + MatrixXf m(2,2); + MatrixXf n(2,2); + + MatrixXf result(2,2); + + //initialize matrices + m << 1,2, + 3,4; + + n << 5,6, + 7,8; + + + // --> matrix multiplication + result = m * n; + + cout << "-- Matrix m*n: --" << endl + << result << endl << endl; + + + // --> coeff-wise multiplication + result = m.array() * n.array(); + + cout << "-- Array m*n: --" << endl + << result << endl << endl; + + + // ->> coeff-wise addition of a scalar + result = m.array() + 4; + + cout << "-- Array m + 4: --" << endl + << result << endl << endl; +} diff --git a/doc/examples/Tutorial_ArrayClass_mult.cpp b/doc/examples/Tutorial_ArrayClass_mult.cpp new file mode 100644 index 000000000..27c83e040 --- /dev/null +++ b/doc/examples/Tutorial_ArrayClass_mult.cpp @@ -0,0 +1,20 @@ +#include <Eigen/Dense> +#include <iostream> + +using namespace Eigen; +using namespace std; + +int main() +{ + ArrayXXf a(2,2); + ArrayXXf b(2,2); + + a << 1,2, + 3,4; + + b << 5,6, + 7,8; + + cout << "a * b = " << endl + << a * b << endl; +} |