1 8 9 package org.lsmp.djepExamples; 10 import org.nfunk.jep.*; 11 import org.lsmp.djep.matrixJep.*; 12 import org.lsmp.djep.matrixJep.nodeTypes.*; 13 16 public class MatrixExample { 17 static MatrixJep j; 18 19 public static void main(String args[]) { 20 j = new MatrixJep(); 21 j.addStandardConstants(); 22 j.addStandardFunctions(); 23 j.addComplex(); 24 j.setAllowUndeclared(true); 25 j.setImplicitMul(true); 26 j.setAllowAssignment(true); 27 28 30 doStuff("[1,2,3]"); doStuff("[1,2,3].[4,5,6]"); doStuff("[1,2,3]^[4,5,6]"); doStuff("[1,2,3]+[4,5,6]"); doStuff("[[1,2],[3,4]]"); doStuff("[[1,2],[3,4]]*[1,0]"); doStuff("[1,0]*[[1,2],[3,4]]"); doStuff("[[1,2],[3,4]]*[[1,2],[3,4]]"); doStuff("x=[1,2,3]"); doStuff("x+x"); doStuff("x . x"); doStuff("x^x"); doStuff("y=[[1,2],[3,4]]"); doStuff("y * y"); doStuff("ele(x,2)"); doStuff("ele(y,[1,2])"); doStuff("x=2"); doStuff("y=[x^3,x^2,x]"); doStuff("z=diff(y,x)"); doStuff("diff([x^3,x^2,x],x)"); 53 System.out.println("dim(z) "+((MatrixVariableI) j.getVar("z")).getDimensions()); 54 } 55 56 public static void doStuff(String str) { 57 try { 58 Node node = j.parse(str); 59 Node proc = j.preprocess(node); 60 Node simp = j.simplify(proc); 61 Object value = j.evaluate(simp); 62 j.print(simp); 64 System.out.print("\t dim "+((MatrixNodeI) simp).getDim()); 65 System.out.println("\tvalue " + value.toString()); 66 } 67 catch(ParseException e) { System.out.println("Parse error "+e.getMessage()); } 68 catch(Exception e) { System.out.println("evaluation error "+e.getMessage()); e.printStackTrace(); } 69 } 70 } 71 | Popular Tags |