[過去ログ]
高校数学の質問スレ Part441 (1002レス)
高校数学の質問スレ Part441 http://rio2016.5ch.net/test/read.cgi/math/1745555217/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
477: 132人目の素数さん [sage] 2025/05/11(日) 08:45:05.36 ID:2CgV4g4d >>475 Rで作ったコードをAIでMathematicaに移植してもらった。 慣れた言語で作って移植はAIに依頼するのが便利。翻訳ソフトみたいなものだな。 (Rだと小数解しかだせないが、分数解を出せる言語に移植させれば( ・∀・)イイ!! Rで分数解を出そうとしたらバグ修正に辟易した。) (* カルダノ法により,3次方程式の解を求める関数 *) cubicSolve[a_, b_, c_, d_] := Module[{bNorm, cNorm, dNorm, p, q, delta, u, v, phi}, (* 3次の項の係数 a がゼロの場合、3次方程式ではない *) If[a == 0, Return["3次の項の係数がゼロです"]]; (* 係数を規格化して x^3 + bNorm x^2 + cNorm x + dNorm = 0 の形にする *) bNorm = b / a; cNorm = c / a; dNorm = d / a; (* カルダノの公式で使用するパラメータ p と q を計算 *) p = cNorm - bNorm^2 / 3; q = 2 bNorm^3 / 27 - bNorm cNorm / 3 + dNorm; (* 判別式 delta を計算 *) delta = q^2 + 4 p^3 / 27; (* 判別式 delta の値によって解のパターンを分岐 *) Which[ delta > 0, (* 異なる3つの実数解 *) u = (-q / 2 + Sqrt[delta / 4])^(1/3); v = (-q / 2 - Sqrt[delta / 4])^(1/3); Return[{u + v - bNorm / 3, -(u + v) / 2 - bNorm / 3 + I (u - v) Sqrt[3] / 2, -(u + v) / 2 - bNorm / 3 - I (u - v) Sqrt[3] / 2}], delta == 0, (* 重解を持つ実数解 *) u = (-q / 2)^(1/3); Return[{2 u - bNorm / 3, -u - bNorm / 3, -u - bNorm / 3}], delta < 0, (* 3つの異なる実数解(三角関数を用いる) *) phi = ArcCos[(-q / 2) / Sqrt[-(p^3) / 27]]; Return[{2 Sqrt[-p / 3] Cos[phi / 3] - bNorm / 3, 2 Sqrt[-p / 3] Cos[(phi + 2 Pi) / 3] - bNorm / 3, 2 Sqrt[-p / 3] Cos[(phi + 4 Pi) / 3] - bNorm / 3}] ] ]; cubicSolve[1,-4,-5,1] % // N {4.96625, -1.1425, 0.176245} 正しく移植されている。 http://rio2016.5ch.net/test/read.cgi/math/1745555217/477
479: 132人目の素数さん [] 2025/05/11(日) 12:55:11.98 ID:Wwca4lCR >>477 他人の質問には一切答えないの何で? 存在価値ないじゃん http://rio2016.5ch.net/test/read.cgi/math/1745555217/479
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.042s