MATLAB符号运算求一元二次方程的根

2022年3月28日 27点热度 0人点赞

本文利用MATLAB符号运算的功能,演示了求一元二次方程根的方法,其中定义符号变量有两种方式:一是syms,二是sym('')。

工具/原料

  • MATLAB
  • syms
  • sym

方法/步骤

  1. 1

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

  2. 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. 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. 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. 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. 6

    第六,syms方法与sym(' ')方法相比,第一种方法定义符号变量更简介,可以一次定义多个符号变量。

    END
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部

laozhao

这个人很懒,什么都没留下

文章评论