MyFunctionND

n次関数の作り方

n次関数の作り方を説明します。

1次関数

1次関数は、\( y = a_1 x + a_0 \) です。 これを、そのままプログラムにしないで、次のように書きます。

y = a1;
y = y * x + a0;

=は、代入の意味だから、これでいいのです。

2次関数

2次関数は、\( y = a_2 x^2 + a_1 x + a_0 \) です。式変形します。

\( y = (a_2 x + a_1)x + a_0 \)

最初の括弧は1次関数と同じです。ですから、プログラムは次のように書けます。

y = a2;
y = y * x + a1;
y = y * x + a0;

3次関数

3次関数は、 \( y = a_3 x^3 + a_2 x^2 + a_1 x + a_0 \) です。式変形をします。

\( y = (a_3 x^2 + a_2 x + a_1) x + a_0 = ((a_3 x + a_2) x + a_1) x + a_0 \)

これは、プログラムにすると次のようになります。

y = a3;
y = y * x + a2;
y = y * x + a1;
y = y * x + a0;

係数に配列を使えば簡単になります。

y = a[3];
for(int i = 1; i <= 3; i++){
	y = y * x + a[3 - i];
}

n次関数

n次関数のプログラムは次のような感じになります。

int n;	// 次数
double a[] = new double[10];	// 10次関数までとする

y = a[n];
for(int i = 1; i <= n; i++){
   	y = y * x + a[n -  i];
} 

あとは、使いやすくするために、係数をセットする関数と、コンストラクタを幾つか用意するだけです。


[戻る] [次へ]