2016-11-18 8 views
2

システムダイナミックスには、インデックスn(mod 1)の反復に加えて、アーノルドのcatマップのような変換があります。例は次のとおりです。小数点を含むモジュールの操作ですか?

Xn + 1 = 2 Xn (mod 1) 

初期値0.65のために、私たちはシーケンス

(2x0.65) (mod 1) = 1.3 (mod 1) = 0.3 
(2x0.3) (mod 1) = 0.6 (mod 1) = 0.6 
(2x0.6) (mod 1) = 1.2 (mod 1) = 0.2 
(2x0.2) (mod 1) = 0.4 (mod 1) = 0.4 

That is: 0.65, 0.3, 0.6, 0.2, 0.4, ..... 
を得るだろうと

私は信じているので、私は、適用されるルールを理解していないすべてのA.のためのmod 1 = 0という 誰もがこの特定の事件の主題について何かを言うことができますか?

+4

この質問は[math.se]に適している可能性があるので、この質問をトピックとして閉じるよう投票しています。彼らは数学に関する一般的な質問に答える。プログラミング関連の質問にのみ焦点を当てています。あなたは代わりにそこに尋ねるかもしれません。 –

+0

私は経験がありません。それは私の最初の質問です ありがとうございました –

+0

心配する必要はありません、あなたは大歓迎です。私はあなたの答えを見つけることを願っています。 –

答えて

1

ここでx mod 1は、可能な限り小さな結果を得るために整数倍数1を削除することを意味します。つまり、小数部分はxです。

Cには、たとえば、この操作を実装する関数fmodがあります。

+0

OK。これは操作A mod B = Rの新しい定義です。それを定義した数理的な当局とその理由を知っていますか? 古典的な定義は、整数除算が因数の丸めを意味するため、 "整数分周A \ Bの残りの部分"でした。結果は整数またはゼロです。 例:69.7 mod 3 = 1; 69.4 mod 3 = 0; 69.9 mod 70 = 0; 69.4 mod 70 = 69; 69.4 mod 1 = 0;などありがとう。 –

+0

人々は、例えば 'sin * 'の引数を' 2 * pi'の倍数で減らすなど、便利であると認識して実装しました。本質的に 'fmod(a、b){q =床(a/b); a-q * bを返します。 } '。したがって、 'fmod(69.7,3)= 0.7'、' fmod(69.9,70)= 69.9'などです。 – LutzL

関連する問題