二次方程式の解を求める。

現在3次以上の方程式の解を求めたいと思い、計算プログラムを組んでいます。solveという関数を用いた例があったため、これをもちいて2次方程式を解くプログラムを試作したのですが、欲しい解が数値解なのに対しシンボリック解で出力されており困っています。3次以上の方程式で数値解を得られるプログラムの書き方を教えていただきたいです。よろしくお願いします。

回答 (1 件)

Atsushi Ueno
Atsushi Ueno 2021 年 12 月 13 日

0 投票

3次以上でも3次未満でもvpasolve()で数値解(シンボリック値)が得られます。double()で数値になります。
syms x
eqn = 0.01847 * x^2 + 1.161 * x + 11.19 == 0;
S = solve(eqn)
S = 
S = vpasolve(eqn)
S = 
double(S)
ans = 2×1
-50.9730 -11.8856

1 件のコメント

ryouya saitou
ryouya saitou 2021 年 12 月 14 日
回答ありがとうございます。
二次方程式、三次方程式にて数値解を得ることが出来ました。
ありがとうございました。

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeSymbolic Math Toolbox についてさらに検索

製品

リリース

R2020b

質問済み:

2021 年 12 月 13 日

コメント済み:

2021 年 12 月 14 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!