1521378272 【数学】【逆関数】【アルゴリズム】


x = (4N-1+(-1) ^ N) /2

という関数があります。

これを、
Nについての式として
N=の形に直したいのですが、方法がわかりません。
逆関数、というものを使うらしいというところまではたどり着いたのですが。

回答だけでなく、わかりやすく、解法を教えていただけると幸いです。

回答の条件
  • 1人1回まで
  • 13歳以上
  • 登録:2018/03/18 22:04:31
  • 終了:2018/03/25 22:05:06

ベストアンサー

id:MIYADO No.1

みやど回答回数504ベストアンサー獲得回数1002018/03/19 08:03:46

ポイント50pt

明記してありませんが、n=1, 2, 3, …のつもりでしょうか。違うなら適宜直すように。

そうだとすると、

n=1, 3, 5, …のとき x=(4n-2)/2=2n-1 (x=1, 5, 9, …)
nについて解くと n=(x+1)/2

n=2, 4, 6, …のとき x=4n/2=2n (x=4, 8, 12, …)
nについて解くと n=x/2

以上より
n=(x+1)/2 (x=1, 5, 9, …)
n=x/2 (x=4, 8, 12, …)

id:MIYADO

場合分けが嫌なら、例えば
n={2x+1-(-1)^x}/4 (x=1, 4, 5, 8, 9. …)
と書くこともできます。

そもそも昔は場合分けして定義した関数を1つの関数とは認めていなかったのです。しかし書き方によって1つの関数になったり、そうでなくなったりすることが分かってきて、その定義は廃れたのです。

2018/03/19 19:19:05

その他の回答(1件)

id:MIYADO No.1

みやど回答回数504ベストアンサー獲得回数1002018/03/19 08:03:46ここでベストアンサー

ポイント50pt

明記してありませんが、n=1, 2, 3, …のつもりでしょうか。違うなら適宜直すように。

そうだとすると、

n=1, 3, 5, …のとき x=(4n-2)/2=2n-1 (x=1, 5, 9, …)
nについて解くと n=(x+1)/2

n=2, 4, 6, …のとき x=4n/2=2n (x=4, 8, 12, …)
nについて解くと n=x/2

以上より
n=(x+1)/2 (x=1, 5, 9, …)
n=x/2 (x=4, 8, 12, …)

id:MIYADO

場合分けが嫌なら、例えば
n={2x+1-(-1)^x}/4 (x=1, 4, 5, 8, 9. …)
と書くこともできます。

そもそも昔は場合分けして定義した関数を1つの関数とは認めていなかったのです。しかし書き方によって1つの関数になったり、そうでなくなったりすることが分かってきて、その定義は廃れたのです。

2018/03/19 19:19:05
id:salon_hiyake

すみません、nは自然数です。
xを使った式なのに、xに条件がついてしまうのがもやっとしてしまって。
プログラムで解こうとすると、いったん答えを出して、それの奇偶判定をして、というのがスマートでないと感じたもので、もっとシンプルな式があるのかな、と思った次第です。

id:rsc96074 No.2

rsc回答回数4417ベストアンサー獲得回数4062018/03/19 13:25:32

ポイント50pt

 使っている言語が何かわかりませんが、奇偶で場合分けしたくないだけなら、整数除算を使って次のような感じでどうでしょうか。(^_^;
BASIC系なら、n=(x+1)\2 とか、n=INT((x+1)/2)
CやJavaなら、n=(x+1)/2
Python なら、n=(x+1)//2 とか、n=int((x+1)/2)
※参考URL
http://d.hatena.ne.jp/rsc96074/20180319/1521450025

id:salon_hiyake

すみません、nは自然数です。
xを使った式なのに、xに条件がついてしまうのがもやっとしてしまって。
プログラムで解こうとすると、いったん答えを出して、それの奇偶判定をして、というのがスマートでないと感じたもので、もっとシンプルなやり方があるのかな、と思った次第です。

  • id:rsc96074
    たとえば、(-1)^1.6とかのように小数を含むと、複素数になってしまって意味をなさないと思うけど、nが整数なら、奇数と偶数に分ければよいのではないの?
    http://www.wolframalpha.com/input/?i=(-1)+%5E1.6

  • id:MIYADO
    (-1)^1.6なら(-1)^(8/5)だから(-1)^8=1の正の5乗根と解釈して1としても-1の実数の5乗根-1の8乗で1と解釈しても一致します。

    まずいのは例えば(-1)^0.8=(-1)^(4/5)の場合です。
  • id:MIYADO
    rscさんの参照ページは累乗根の代表値の取り方の解釈の問題です。

    質問者へ。高校までなら、(-1)^nはn<0の場合はnが整数の場合だけだと思いましょう。
  • id:salon_hiyake
    やはり場合分けする方向でまとめました。
    累乗の逆関数、というのが難しく感じただけで、自然数で場合分けすればシンプルでした。
    ありがとうございます。

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません