BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #14616同步于 2010/5/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

【急】在java中如何对一个公式进行求导

c200030838
2010/5/19镜像同步2 回复
如题,最好能举例说明一下,谢谢了。
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
buptxiaofeng机器人#1 · 2010/5/19
可以考虑加载matlab的文件...没试过,估计挺麻烦...
wks机器人#2 · 2010/5/19
没试过。。。 interface Formula { Formula qiuDao(); } class Constant implements Formula { double val; public Constant(val) { this.val = val;} public String toString() { return ""+val; } public Forumla qiuDao() { return new Constant(0.0); } } class Variable implements Formula { public String toString() { return "x";} public Formula qiuDao() { return new Constant(1.0); } } class Sum implements Formula { Formula lhs,rhs; public Sum(Formula lhs, Formula rhs) { this.lhs=lhs; this.rhs=rhs;} public String toString() { return "("+lhs+"+"+rhs+")"; } public Formula qiuDao() { return new Sum(lhs.qiuDao(), rhs.qiuDao()); } } class Product implements Formula { Formula lhs,rhs; public Product(Formula lhs, Formula rhs) { this.lhs=lhs; this.rhs=rhs;} public String toString() { return "("+lhs+"*"+rhs+")"; } public Formula qiuDao() { return new Sum(new Product(lhs.qiuDao(),rhs), new Product(lhs, rhs.qiuDao())); } } class Power implements Formula { Formula base; double exponent; public Power(Formula base, double exponent) { this.base=base; this.exponent=exponent;} public String toString() { return base+"^("+exponent"+")"; } public Formula qiuDao() { return new Product(new Constant(exponent), new Product(new Power(base, exponent-1.0), base.qiuDao())); } } class Exponential implements Formula { Formula inner; public Exponential(Formula inner) { this.inner=inner; } public String toString() { return "e^("+inner+")"; } public Formula qiuDao() { return new Product(this, inner.qiuDao()); } } class Logarithm implements Formula { Formula inner; public Logarithm(Formula inner) { this.inner=inner; } public String toString() { return "log("+inner+")"; } public Formula qiuDao() { return new Product(new Power(inner, -1.0), inner.qiuDao()); } } class Sine implements Formula { Formula inner; public Sine(Formula inner) { this.inner=inner; } public String toString() { return "sin("+inner+")"; } public Formula qiuDao() { return new Product(new Cosine(inner), inner.qiuDao()); } } class Cosine implements Formula { Formula inner; public Cosine(Formula inner) { this.inner=inner; } public String toString() { return "cos("+inner+")"; } public Formula qiuDao() { return new Product(new Product(new Constant(-1.0), new Sine(inner)), inner.qiuDao()); } }