では、n次関数クラスのリストを載せます。長いけれど、同じようなものがあるだけです。
// n次関数(10次関数までとする)
public class MyFunctionND extends MyCurve {
int n; // 次数
int maxn = 10; // 10次関数までとする
double a[] = new double[maxn + 1]; // 係数
// コンストラクタ
public MyFunctionND() {
for (int i = 0; i <= maxn; i++) {
a[i] = 0;
}
}
// n次関数
public void p(double t) {
x = t;
y = a[n];
for (int i = 1; i <= n; i++) {
y = y * x + a[n - i];
}
}
// 係数のセット
public void set(double a[]) {
n = a.length - 1;
for (int i = 0; i <= n; i++) {
this.a[i] = a[i];
}
}
public void set(double a1, double a0) {
n = 1;
a[1] = a1;
a[0] = a0;
}
public void set(double a2, double a1, double a0) {
n = 2;
a[2] = a2;
a[1] = a1;
a[0] = a0;
}
public void set(double a3, double a2, double a1, double a0) {
n = 3;
a[3] = a3;
a[2] = a2;
a[1] = a1;
a[0] = a0;
}
public void set(double a4, double a3, double a2, double a1, double a0) {
n = 4;
a[4] = a4;
a[3] = a3;
a[2] = a2;
a[1] = a1;
a[0] = a0;
}
public void set(double a5, double a4, double a3, double a2, double a1,
double a0) {
n = 5;
a[5] = a5;
a[4] = a4;
a[3] = a3;
a[2] = a2;
a[1] = a1;
a[0] = a0;
}
}