>>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}
正しく移植されている。
高校数学の質問スレ Part441
■ このスレッドは過去ログ倉庫に格納されています
477132人目の素数さん
2025/05/11(日) 08:45:05.36ID:2CgV4g4d■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 細野大臣 全国民に「緊急要請」 食料・水・トイレの備えを [首都圏の虎★]
- ココイチでソーセージを諦めた夜 インフレ「第3波」値上げの正体は [蚤の市★]
- Microsoft、希望退職6万人募集 25%超対象、AI投資重荷 [蚤の市★]
- 「戦争反対」がバカにされ、叩かれる時代 1000万再生のショートアニメ投稿者は、それでも「言わなきゃ」中野彰子さん:東京新聞 8 [少考さん★]
- 「副首都指定要件」閣議決定 人口・経済規模や行政体制、北海道、愛知、大阪、福岡が該当 [少考さん★]
- 国会中の“爪の手入れ”で批判殺到…維新・石井めぐみ参院議員、釈明も火に油で父・石井章元議員の過去にも集まる注目 [バイト歴50年★]
- 【高市悲報】トランプ「ノルウェーは外便所」 [733893279]
- 東武東上線に乗ってる日本人、俺だけ [667744927]
- 地震 [695089791]
- 米軍、イラン攻撃の準備完了か トランプ大統領の命令から「96時間以内」に発動へ [583597859]
- 三大自殺した芸能人『藤圭子』『神田沙也加』『上島竜兵』あと一人は? [904880432]
- 【高市悲報】MAGA「社会主義はクソ」記者「社会主義とは?」MAGA「民主ガー😡」記者「…社会主義とは?」以下ループ [359965264]