This is a test Program for the Class Matrix version 1.6.4

Dependencies:   Matrix Kinematics mbed TrackVector2D MatrixMath

Files at this revision

API Documentation at this revision

Comitter:
Yo_Robot
Date:
Fri Oct 21 03:35:03 2011 +0000
Child:
1:9e4cb305fb24
Commit message:
Example program to show MatrixClass

Changed in this revision

Matrix.lib Show annotated file Show diff for this revision Revisions of this file
MatrixMath.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Matrix.lib	Fri Oct 21 03:35:03 2011 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/Yo_Robot/code/Matrix/#589fb80932b5
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MatrixMath.lib	Fri Oct 21 03:35:03 2011 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/Yo_Robot/code/MatrixMath/#eb69bbfb6486
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri Oct 21 03:35:03 2011 +0000
@@ -0,0 +1,94 @@
+#include "mbed.h"
+#include "Matrix.h"
+#include "MatrixMath.h"
+
+int main() {
+
+    DigitalOut myled(LED1);
+    
+    Matrix myMatrix(3,3);
+    Matrix anotherMatrix;
+
+    // Fill Matrix with data.
+    myMatrix << 1  << 2  << 3
+             << 4  << 5  << 6
+             << 7  << 8  << 9;
+
+    printf( "\myMatrix \n");
+    myMatrix.print();
+    printf( "\n" );
+
+    
+    /** Matrix operations **/
+
+    // Add 5 to negative Matrix 
+    anotherMatrix = - myMatrix + 5;
+
+    printf( "Result Matrix: anotherMatrix = - myMatrix + 5\n" );
+    anotherMatrix.print();
+    printf( "\n" );
+    
+    // Matrix Multiplication *
+    anotherMatrix *=  myMatrix;
+
+    printf( "anotherMatrix = anotherMatrix * myMatrix\n" );
+    anotherMatrix.print();
+    printf( "\n" );
+    
+    // Scalar Matrix Multiplication anotherMatrix *= 0.5
+    anotherMatrix *= 0.5;
+
+    printf( "Result Matrix *= 0.5:\n" );
+    anotherMatrix.print();
+    printf( "    _______________________________ \n" );
+
+
+    printf("** MEMBER OPERATIONS ** \n\n");
+
+    //Copy myMatrix
+    Matrix temp( myMatrix );
+
+    // Resize Matrix
+    temp.Resize(4,4);
+    printf("\nAdded one Column, one Row to the limitsof myMatrix saved in temp Matrix");
+    temp.print();
+
+    //Delete those new elements, we don't need them anyway.
+    Matrix::DeleteRow( temp, 4 );
+    Matrix::DeleteCol( temp, 4 );
+
+    printf("\nBack to normal\n");
+    temp.print();
+
+    
+    // Make room at the begining of Matrix
+    Matrix::AddRow( temp, 1 );
+    Matrix::AddColumn( temp, 1 );
+    printf("\nAdded Just one Row and column to the beginning\n");
+    temp.print();
+
+    // Take the second Row as a New Matrix
+    anotherMatrix = Matrix::ExportRow( temp, 2 );
+    printf("\nExport Second Row \n");
+    anotherMatrix.print();
+
+    // The second Column as a ner Matrix, then transpose it to make it a Row
+    anotherMatrix = Matrix::ExportCol( temp, 2 );
+    anotherMatrix = MatrixMath::Transpose( anotherMatrix );
+    printf("\nAnd Export Second Column and Transpose it \n");
+    anotherMatrix.print();
+
+    // This will Check to see if your are reduce to a single Row or Column
+    temp = Matrix::ToPackedVector( myMatrix );
+    printf("\nInitial Matrix turned into a single Row\n");
+    temp.print();
+           
+    // That's all for now!!!
+           
+    while(1) {
+        myled = 1;
+        wait(0.2);
+        myled = 0;
+        wait(0.2);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Fri Oct 21 03:35:03 2011 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/63bcd7ba4912