- ベストアンサー
複数の実数値から最大値を求める数式は?
実数a、b、cがある場合、このa、b、cの最大値を求める数式はどうすればよいのでしょうか。 (プログラムではなく数式で算出することは可能でしょうか。)
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
絶対値を使っていいのなら、 max(a,b)=(a+b+|a-b|)/2 だから、 max(a,b,c)=max(max(a,b),c) =((a+b+|a-b|)/2+c+|(a+b+|a-b|)/2-c|)/2 うまく工夫すればa,b,cの対称形にできるはずなんだけど、分からん。
その他の回答 (4)
- Tacosan
- ベストアンサー率23% (3656/15482)
工夫も何もなく, 6個の順列すべてを考えて和を 6 で割れば対称式>#3. あるいは lim(n→∞) (a^n+b^n+c^n)^(1/n) とか.
- koko_u_u
- ベストアンサー率18% (216/1139)
> 関数 max(a, b, c) が上記のような判断プロセスを含んでいないなら、その内容を教えて頂けないでしょうか。 まったく会話が成立しとらん。 あなたが「数式」だと思っているその内容がまったく回答者には、少なくとも私にはわからんのですよ。 絶対値 |a| だってあなたは、「a が >0 ならば」という判断プロセスなるものを含んでいると考えているかもしれないよね。 普通のひとは「算出する」といわれたら、計算方法すなわちアルゴリズムを問われていると考えるわけですが そうではない何かが欲しいんですよね?それは何?
- koko_u_u
- ベストアンサー率18% (216/1139)
数式ってどんなのまで許されるの? 極端な話 max(a, b, c) でもありじゃね?
お礼
1番目の回答者さんの回答にある >a-b>0の場合、aを選択 >a-b<0の場合、bを選択 のような判断を含まない方法です。 関数 max(a, b, c) が上記のような判断プロセスを含んでいないなら、その内容を教えて頂けないでしょうか。よろしくお願いいたします。
- newkazuo
- ベストアンサー率44% (13/29)
a-bを計算し、 a-b>0の場合、aを選択 a-b<0の場合、bを選択 次にc-a,もしくはc-bも同様に計算 という方法では駄目ですか? (結局プログラムもこういうふうに計算すると思いますが)
お礼
早々のご回答、ありがとうございます。ただ求めているのは(大小の判断を含んでいる)プログラムではなく、数式で最大値を算出できないか、ということです。 よろしくお願いいたします。
お礼
どうもありがとうございます。 絶対値の部分は二乗のルートにすれば解決できるかと思います。 a、b、cの3つになった場合は、自分で考えてみます。 助かりました。