如何使用JScience创建涉及向量的符号变量/函数?创建浮点变量很简单:
Variable<Float64> varX = Variable.local<Float64>("x");我如何对一个向量做同样的事情呢?一旦我有了一个向量变量,我如何创建一个涉及该向量的Polynomial (例如,通过使用欧几里德距离)?
发布于 2016-02-19 23:21:57
给定系数的Vector<Float64>,您可以构建如下所示的Polynomial<Float64>。如here所示,在应用霍纳格式时,为了方便起见,最高阶系数优先。
public static Polynomial<Float64> create(Vector<Float64> v) {
Variable<Float64> x = new Variable.Local<Float64>("x");
Polynomial<Float64> px = Polynomial.valueOf(Float64.ZERO, x);
for (int i = 0, e = v.getDimension() - 1; i < v.getDimension(); i++, e--) {
px = px.plus(Polynomial.valueOf(v.get(i), Term.valueOf(x, e)));
}
return px;
}典型用法:
Polynomial<Float64> px = create(Float64Vector.valueOf(3, 2, 1));
System.out.println(px);
System.out.println(px.evaluate(Float64.ONE));控制台:
[3.0]x² + [2.0]x + [1.0]
6.0https://stackoverflow.com/questions/35328138
复制相似问题