首頁 > 軟體

MATLAB符號運算求一元二次方程的根

2019-12-24 21:03:32

本文利用MATLAB符號運算的功能,演示了求一元二次方程根的方法,其中定義符號變數有兩種方式:一是syms,二是sym('')。


1

第一,要求解的一元二次方程如下圖,共三個。


2

第二,啟動MATLAB,先利用第一方法syms定義符號變數,輸入以下程式碼,求上述三個一元二次方程的根。

close all; clear all; clc

format compact

syms x a b c

r1 = solve('a*x^2+b*x+c = 0')

r2 = solve('x^2+2*x+2 = 0')

r3 = solve('2*x^2+5*x+3 = 0')


3

第三,儲存和運算上述程式碼,得到上述三個一元二次方程的根如下:

r1 =

 -(b + (b^2 - 4*a*c)^(1/2))/(2*a)

 -(b - (b^2 - 4*a*c)^(1/2))/(2*a)

r2 =

 - 1 + i

 - 1 - i

r3 =

   -1

 -3/2


4

第四,再利用第二方法sym(' ')定義符號變數,輸入以下程式碼,求上述三個一元二次方程的根。

close all; clear all; clc

format compact

% syms x a b c

x = sym('x');

a = sym('a');

b = sym('b');

c = sym('c');

r1 = solve('a*x^2+b*x+c = 0')

r2 = solve('x^2+2*x+2 = 0')

r3 = solve('2*x^2+5*x+3 = 0')


5

第五,儲存和執行上述程式碼,得到的結果與第三步相同。

r1 =

 -(b + (b^2 - 4*a*c)^(1/2))/(2*a)

 -(b - (b^2 - 4*a*c)^(1/2))/(2*a)

r2 =

 - 1 + i

 - 1 - i

r3 =

   -1

 -3/2


6

第六,syms方法與sym(' ')方法相比,第一種方法定義符號變數更簡介,可以一次定義多個符號變數。



IT145.com E-mail:sddin#qq.com