最終更新:ID:yyCkkWjRdQ 2017年09月01日(金) 22:08:07履歴
156 :名無しさん@おーぷん :2017/07/23(日)20:12:28 ID:Vya × さあ、お題の時間やで彡(^)(^) 今回は数学的な問題や! まず、以下の4つの実数定数 a, b, c, d が与えられとるんや。 a = -0.966918 b = 2.879879 c = 0.765145 d = 0.744728 そして、2つの数列 x(1), x(2), x(3), …… と y(1), y(2), y(3), ……を次の漸化式によって定義するんや。 x(1) = 0.1 y(1) = 0.1 x(n+1) = sin( b・y(n) ) + c・sin( b・x(n) ) ( n ≧ 1 ) y(n+1) = sin( a・x(n) ) + d・sin( a・y(n) ) ( n ≧ 1 ) 例えば、x(2) と y(2) は次のように計算できるで! x(2) = x(1+1) = sin( b・y(1) ) + c・sin( b・x(1) ) = sin( 2.879879・0.1 ) + 0.765145・sin( 2.879879・0.1 ) y(2) = y(1+1) = sin( a・x(1) ) + d・sin( a・y(1) ) = sin( -0.966918・0.1 ) + 0.744728・sin( -0.966918・0.1 ) x(2), y(2) が計算できたら、それらを使って x(3), y(3) を計算できるんや! x(4), y(4), x(5), y(5), …… についても同様やで! 157 :名無しさん@おーぷん :2017/07/23(日)20:14:59 ID:Vya × そういうわけで、今回のお題は、次の処理を行う関数 func( s, t ) を作ることや ( 関数名・変数名は自由 ) 。 -------------------- 2つの整数 s, t を ( 引数として ) 受け取って、数列の第 s 項から第 t 項まで、すなわち x(s), y(s), x(s+1), y(s+1), x(s+2), y(s+2), ……, x(t), y(t) の値を表示する。( 1 ≦ s ≦ t が成立していると仮定してよい。 ) -------------------- 表示方法は自由やけど、下の実行例のようなカンマ区切りを推奨するンゴ! ( この問題は、暗にExcelによるグラフ作成を想定しているからや。) 158 :名無しさん@おーぷん :2017/07/23(日)20:16:37 ID:Vya × 実行例は以下のような感じや。 1列目が項番号、2列目が x の値、3列目が y の値やで。 ---------- func(1,1) が実行された場合 1,0.100000,0.100000 ---------- func(2,2) が実行された場合 2,0.501343,-0.168438 ---------- func(1,5) が実行された場合 1,0.100000,0.100000 2,0.501343,-0.168438 3,0.292703,-0.345238 4,-0.267083,-0.035245 5,-0.633515,0.280762 ---------- func(5,10) が実行された場合 5,-0.633515,0.280762 6,-0.017369,0.375262 7,0.844034,-0.247538 8,-0.154760,-0.551935 9,-1.329664,0.527927 10,1.484401,0.595769 ----------
コメントをかく