Resolución de ecuaciones simbólicas con MATLAB

En los cálculos matemáticos, a menudo necesitamos resolver ecuaciones o ecuaciones.Resolver ecuaciones es un punto de conocimiento importante en matemáticas. La función de resolución se proporciona en MATLAB para resolver expresiones simbólicas. Hay muchas formas de llamar a la función de resolución, incluidas las siguientes:

  • solve(equ): resuelve la ecuación equ, y las variables a resolver son las predeterminadas del sistema.
  • solve(equ,var): Resuelve la ecuación equ, donde la variable a resolver es var.
  • solve(eqn1,eqn2,eqn3,...,eqnM,var1,var2,var3,...varN): Resuelve el sistema de ecuaciones, que está compuesto por N variables y M ecuaciones.

Las siguientes son las soluciones y verificaciones para los tipos anteriores, respectivamente.

(1) resolver (equivalente)

solve(equ) es resolver la ecuación equ, y las variables a resolver son los valores por defecto del sistema.

Por ejemplo, use la función de resolución para resolver las siguientes expresiones simbólicas:

(x+2)/3=6

\frac{1}{x}+2=5

\frac{1}{x}=\frac{1}{a}+\frac{1}{b}

El código de MATLAB se ve así:

syms x a b
solve((x+2)/3==6)
solve(1/x+2==5)
solve(1/x==1/a+1/b)

Los resultados de ejecución son los siguientes:

ans =
    16
ans =
    1/3
ans = 
    1/(1/a + 1/b)

Se puede ver a partir de los resultados de ejecución anteriores que entre las variables simbólicas x, a y b, el sistema usa x como la variable por defecto. Cuando solo hay una variable en la expresión simbólica, MATLAB puede resolver con precisión su valor; cuando hay múltiples variables, el sistema selecciona la variable predeterminada y también puede resolverla.

(2) resolver (equivalente, var)

Cuando el método de llamada de la función es solve(equ,var), MATLAB resolverá la variable específica var de la ecuación equ.

Por ejemplo, use solve para resolver las siguientes expresiones simbólicas:

hacha+b=2c

4a+b+c=10

hacha+y=4

El código de MATLAB se ve así:

syms a b c x y
ans1=solve(a*x+b==2*c,x)
ans2=solve(4*a+b+c==10,a)
ans3=solve(a*x+y==4,a)

Los resultados de ejecución son los siguientes:

ans1 =
    -(b - 2*c)/a
ans2 =
    5/2 - c/4 - b/4
ans3 =
    -(y - 4)/x

Se puede ver a partir de los resultados de ejecución anteriores que cuando la función de resolución especifica que la prioridad de una variable específica será mayor que la prioridad de la variable predeterminada del sistema.

(3) resolver (eqn1,eqn2,eqn3,...,eqnM,var1,var2,var3,...varN)

Cuando el método de llamada de la función es solve(eqn1, eqn2, eqn3,...,eqnM, var1, var2, var3,...varN), es posible resolver un sistema de ecuación de función específico, donde el método de llamada anterior indica Hay N variables y un sistema de ecuaciones que consta de M ecuaciones.

Por ejemplo, use solve para resolver los siguientes grupos de expresiones simbólicas:

\left\{\begin{matriz} 2x+y=9 \\ xy=3 \end{matriz}\right.

\left\{\begin{matriz} x+y+z=20 \\ x+2y+3z=35 \\ x+2y-z=16 \end{matriz}\right.

\left\{\begin{matriz} x^2+y^2=13 \\ x+yz=0 \\ x+z=8 \end{matriz}\right.

\left\{\begin{matriz} x+y=2a \\ xy=a+4 \end{matriz}\right.

El código de MATLAB se ve así:

syms x y z a
[x1,y1]=solve(2*x+y==9,x-y==3,x,y)
[x2,y2,z2]=solve(x+y+z==20,x+2*y+3*z==45,x+2*y-z==9,x,y,z)
[x3,y3,z3]=solve(x^2+y^2==13,x+y-z==0,x+z==8,x,y,z)
[x4,y4]=solve(x+y==2*a,x-y==a+4,x,y)

Los resultados de ejecución son los siguientes:

x1 =
    4
y1 =
    1
x2 =
    4
y2 =
    7
z2 =
    9
x3 =
       3
    17/5
y3 =
      2
    6/5
z3 =
       5
    23/5
x4 =
    (3*a)/2 + 2
y4 =
    a/2 - 2

A partir de la fórmula anterior, se puede ver que este método de llamada puede resolver el sistema de ecuaciones, y cuando hay múltiples soluciones para la ecuación funcional, MATLAB calculará múltiples soluciones.

Supongo que te gusta

Origin blog.csdn.net/qq_54186956/article/details/128260609
Recomendado
Clasificación