|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.nfunk.jep.JEP
org.lsmp.djep.xjep.XJep
org.lsmp.djep.djep.DJep
public class DJep
Adds differentation facilities to JEP. For example
DJep j = new DJep(); j.addStandardDiffRules(); .... Node node = j.parse("x^3"); Node diff = j.differentiate(node,"x"); Node simp = j.simplify(diff); j.println(simp); Node node2 = j.parse("diff(x^4,x)"); Node proc = j.preprocess(node2); Node simp2 = j.simplify(proc); j.println(simp2);
Field Summary | |
---|---|
protected DifferentiationVisitor |
dv
|
Fields inherited from class org.lsmp.djep.xjep.XJep |
---|
commandv, copier, nf, pv, simpv, subv, tu |
Fields inherited from class org.nfunk.jep.JEP |
---|
allowAssignment, allowUndeclared, errorList, ev, funTab, implicitMul, numberFactory, opSet, parser, symTab |
Constructor Summary | |
---|---|
|
DJep()
Standard constructor. |
protected |
DJep(DJep j)
|
Method Summary | |
---|---|
void |
addDiffRule(DiffRulesI rule)
Adds a rule with instruction on how to differentiate a function. |
boolean |
addStandardDiffRules()
Adds the standard set of differentation rules. |
Node |
differentiate(Node node,
java.lang.String name)
Differentiate an equation with respect to a variable. |
DifferentiationVisitor |
getDifferentationVisitor()
Returns the visitor used for differentiation. |
XJep |
newInstance()
Creates a new instance of XJep with the same components as this one. |
XJep |
newInstance(SymbolTable st)
Creates a new instance of XJep with the same components as this one and the specified symbol table. |
Methods inherited from class org.lsmp.djep.xjep.XJep |
---|
addComplex, addStandardConstants, addStandardFunctions, calcVarValue, continueParsing, deepCopy, evaluate, getNodeFactory, getPrintVisitor, getTreeUtils, getVarsInEquation, preprocess, print, print, println, println, recursiveGetVarsInEquation, restartParser, restartParser, simplify, substitute, substitute, toString |
Methods inherited from class org.nfunk.jep.JEP |
---|
addConstant, addFunction, addVariable, addVariable, addVariable, evaluate, getAllowAssignment, getAllowUndeclared, getComplexValue, getErrorInfo, getEvaluatorVisitor, getFunctionTable, getImplicitMul, getNumberFactory, getOperatorSet, getParser, getSymbolTable, getTopNode, getTraverse, getValue, getValueAsObject, getVar, getVarValue, hasError, initFunTab, initSymTab, parse, parseExpression, removeFunction, removeVariable, setAllowAssignment, setAllowUndeclared, setImplicitMul, setTraverse, setVarValue |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected DifferentiationVisitor dv
Constructor Detail |
---|
public DJep()
protected DJep(DJep j)
Method Detail |
---|
public Node differentiate(Node node, java.lang.String name) throws ParseException
node
- top node of the expression tree to differentiate.name
- differentiate with respect to this variable.
ParseException
- if for some reason equation cannot be differentiated,
usually if it has not been taught how to differentiate a particular function.public XJep newInstance()
XJep
newInstance
in class XJep
public XJep newInstance(SymbolTable st)
XJep
newInstance
in class XJep
public DifferentiationVisitor getDifferentationVisitor()
public boolean addStandardDiffRules()
sin,cos,tan,asin,acos,atan,sinh,cosh,tanh,asinh,acosh,atanh sqrt,log,ln,abs,angle sum,im,re are handled separately. rand and mod currently un-handled Also adds rules for functions not in JEP function list: sec,cosec,cot,exp,pow,sgn TODO include if, min, max, sgn
public void addDiffRule(DiffRulesI rule)
rule
-
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |