0

現在、基本的な線形代数を実行できるプログラムをコーディングしようとしています.AとBの2つの定数があり、係数を入力して他の値を追加するだけです.

例:

フィボナッチ数列の項を見つけたいとします

A
B

A + B を取得してファイルに追加したい。

A
B
A+B

今、私は第2項と第3項を追加したい

A
B
A + B
A + 2B

等々。

すべての数値に対してこれをうまく実行できるプログラムがありますが、ビネット式を使用せずに代数的に上昇することを望みます。

私の唯一の推測は、A と B の係数を 2 つの別々のファイルに保存して計算し、出力することですが、線形代数が C で利用できる場合は、はるかに簡単になります。

編集:気にしないでください、ここが数学オタクではなくコンピューターオタクの場所であることを忘れていました

4

1 に答える 1

1

C は伝統的な命令型言語であるため、代数式の組み込みサポートはありません。フィボナッチ数列の係数を計算するには、次のようなプログラムを作成できます。

#include <stdio.h>

int main() {
    int i;
    int coeff_a_1 = 1;
    int coeff_b_1 = 0;
    int coeff_a_0 = 0;
    int coeff_b_0 = 1;

    printf("A\n");
    printf("B\n");

    for (i = 0; i < 15; i++) {
        int coeff_a = coeff_a_0 + coeff_a_1;
        int coeff_b = coeff_b_0 + coeff_b_1;

        printf("%dA + %dB\n", coeff_a, coeff_b);

        coeff_a_1 = coeff_a_0;
        coeff_b_1 = coeff_b_0;
        coeff_a_0 = coeff_a;
        coeff_b_0 = coeff_b;
    }

    return 0;
}

これは印刷されます:

A
B
1A + 1B
1A + 2B
2A + 3B
3A + 5B
5A + 8B
8A + 13B
13A + 21B
21A + 34B
34A + 55B
55A + 89B
89A + 144B
144A + 233B
233A + 377B
377A + 610B
610A + 987B

より複雑な問題については、C バインディングを提供するコンピューター代数システムを使用することをお勧めします。

于 2015-03-16T11:03:24.237 に答える