電子透かしに連分数を使いたいです。連分数の概念を使用して数値を評価する必要があります。連分数の matlab コードを提供できる人はいますか?
1083 次
1 に答える
3
rat
次の関数を使用できます。
>> rat(0.23)
ans =
0 + 1/(4 + 1/(3 + 1/(-8)))
この関数の出力は文字列です。この出力を解析する場合は、このトピックを参照してください。
編集:
結果の展開に正の数のみを含めたい場合は、rat.m ( edit rat.m
) を編集してこれを実現できます。このトピックを参照してください。
d = round(x)
基本的には、rat.m の 100 行目を からに変更する必要がありますd = floor(x)
。Matlab ソースを変更したくない場合は、新しい rat.m のコピーをどこかに保存し、必要に応じて関数の名前を変更することもできます。
変更されたラット関数を使用すると、次のようになります。
>> rat(0.23)
ans =
0 + 1/(4 + 1/(2 + 1/(1 + 1/(7))))
于 2016-08-23T07:09:50.297 に答える