- ベストアンサー
数列の関数を教えていただけませんか
先日数列の関数をこのコーナーに登校し多くの方々からご教授していただきました。おかげさまで、無事できたとおもいきや・・・なんと、私の考えが甘く、数式は正しいのですがそれが使えないことがわかりました。xとyの値の変化は以下のようなものでした。現在47歳どうあがいても自力で数列の問題は解けません。申し訳ございませんが、どなたかお力をお貸しください。 x→ 0, -1 ,-2, -3, -4, -5, -6, -7, -8 y→ 0, 1, -1, 2, -2, 3, -3, 4 , -4 のようにyの値がxに対応して変化する関数の式を知りたいのですが。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
思いつく範囲では、2通りの表し方があります。 (1) 整数化を行うガウスの記号[](エクセルではint()関数に対応)を使う方法 http://ja.wikipedia.org/wiki/%E5%BA%8A%E9%96%A2%E6%95%B0 y=(-1)^(x-1) * [ (-x+1)/2 ] ちなみに、エクセルの式では、次のようになります。(セルA2にxの値が入っているとしています。) =(-1)^(A2-1)*INT((-A2+1)/2) (2) 場合分けによる方法 xが偶数のとき: x/2 xが奇数のとき: (-x+1)/2 =IF(MOD(A2,2)=0,A2/2,(-A2+1)/2) このような感じでよろしいでしょうか。
その他の回答 (1)
y=[|x/2|+1/2](-1)^(|x|-1) はどうですか | |は絶対値 [ ]はガウス記号 x=0ならy=0 x=-1ならy=1 x=-2ならy=-1 x=-3ならy=2 x=-4ならy=-2 x=-5ならy=3 x=-6ならy=-3 x=-7ならy=4 x=-8ならy=-4 となります。
お礼
昨日に引き続きありがとうございます。エクセルに転用できるかためしてみます。ガウス記号のところがVBAでどのようになるのかがわからないので、調べてみてそれができればどうにかなると思います。ありがとうございました。
お礼
ありがとうございます。エクセルで使いたいので、式が書いてあるので助かりました。早々に式を入力してやってみます。ありがとうございました。
補足
ありがとうございました!!できました! For i = 1 To 8 y = (-1) ^ (i - 1) * Int((-i + 1) / 2) Sheets(1).Cells(4, 2).Offset(y, 0) = Sheets(1).Cells(9 - i, 7) Next i 意図したセルに、意図した値を入れたかったんです。 本当にありがとうございました。