1

如何使用 JScience 创建涉及向量的符号变量/函数?创建浮点变量很容易:

Variable<Float64> varX = Variable.local<Float64>("x");

我怎样才能对矢量做同样的事情?一旦我有了一个向量变量,我如何创建一个Polynomial涉及该向量的变量(例如,通过使用欧几里德距离)?

4

1 回答 1

1

给定 aVector<Float64>的系数,您可以构造 a Polynomial<Float64>,如下所示。如此处所示为了方便应用霍纳方案,最高阶系数在前。

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.0
于 2016-02-19T15:21:56.627 回答