English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Hasta ahora, hemos visto que todos los ejemplos pueden ejecutarse en MATLAB y GNU (también conocido como Octave). Sin embargo, MATLAB y Octave prácticamente no tienen diferencias en la resolución de ecuaciones algebraicas básicas, por lo que intentaremos presentar MATLAB y Octave en una sección separada.
También discutiremos la descomposición y simplificación de expresiones algebraicas.
solveLa función se utiliza para resolver ecuaciones algebraicas. La forma más simple es que la función solve toma la ecuación entre comillas como parámetro.
Por ejemplo, resolvamos la ecuación x-5 = '0' del x
solve('x-5= '0')
MATLAB ejecutará las instrucciones anteriores y devolverá el siguiente resultado-
ans = 5
También puede llamar a la función Solve como-
y = solve('x-5 = '0')
MATLAB ejecutará las instrucciones anteriores y devolverá el siguiente resultado-
y = 5
Incluso puede omitir el lado derecho de la ecuación-
solve('x-5)
MATLAB ejecutará las instrucciones anteriores y devolverá el siguiente resultado-
ans = 5
Si la ecuación contiene múltiples símbolos, por defecto MATLAB asume que está resolviendo x, pero la función solve tiene otra forma-
solve(equation, variable)
Aquí, también puede mencionar las variables.
Por ejemplo, resolvamos la ecuación v – u – 3t 2 = '0'. En este caso, deberíamos escribir-
solve('v-u-3*t^2= '0', 'v')
MATLAB ejecutará las instrucciones anteriores y devolverá el siguiente resultado-
ans = 3*t^2 + u
rootsLa función se utiliza para resolver ecuaciones algebraicas en Octave. Puede escribir un ejemplo como el siguiente:
Por ejemplo, resolvamos la ecuación x-5 = '0' del x
roots([1, -5]
Octave ejecutará las instrucciones anteriores y devolverá el siguiente resultado-
ans = 5
También puede llamar a la función Solve como-
y = roots([1, -5]
Octave ejecutará las instrucciones anteriores y devolverá el siguiente resultado-
y = 5
solveLa función también puede resolver ecuaciones de orden superior. Generalmente se utiliza para resolver ecuaciones cuadráticas. La función devuelve las raíces de la ecuación en forma de array
El siguiente ejemplo resuelve una ecuación cuadrática x 2 -7x +12 = '0'. Crea un archivo de script e introduce el siguiente código-
eq = 'x^2 -7*x + 12 = '0'; s = solve(eq); disp('La primera raíz es:'), disp(s(1)); disp('La segunda raíz es:'), disp(s(2));
Mientras ejecuta el archivo, muestra el siguiente resultado-
La primera raíz es: 3 La segunda raíz es: 4
El siguiente ejemplo resuelve una ecuación cuadrática x 2 -7x +12 = '0'. Crea un archivo de script e introduce el siguiente código-
s = roots([1, -7, 12]); disp('La primera raíz es:'), disp(s(1)); disp('La segunda raíz es:'), disp(s(2));
Mientras ejecuta el archivo, muestra el siguiente resultado-
La primera raíz es: 4 La segunda raíz es: 3
solveLa función también puede resolver ecuaciones de orden superior. Por ejemplo, resolvamos una ecuación cúbica de la forma (x-3)2(x-7)= 0
solve('(x-3)^2*(x-7)=0'
MATLAB ejecutará las instrucciones anteriores y devolverá el siguiente resultado-
ans = 3 3 7
Para ecuaciones de orden superior, la longitud de las raíces contiene muchos términos. Puede obtener el valor numérico de tales raíces convirtiéndolas a double. El siguiente ejemplo resuelve una ecuación cuadrática x 4 - 7x 3 + 3x 2 - 5x + 9 = 0.
Cree un archivo de script y escriba el siguiente código-
eq = 'x^4 - 7*x^3 + 3*x^2 - 5*x + 9 = '0'; s = solve(eq); disp('La primera raíz es:'), disp(s(1)); disp('La segunda raíz es:'), disp(s(2)); disp('La tercera raíz es:'), disp(s(3)); disp('El cuarto raíz es:'), disp(s(4)); % Convertir las raíces a tipo double disp('Valor numérico de la primera raíz'), disp(double(s(1); disp('Valor numérico de la segunda raíz'), disp(double(s(2); disp('Valor numérico de la tercera raíz'), disp(double(s(3); disp('Valor numérico de la cuarta raíz'), disp(double(s(4);
Al ejecutar el archivo, devuelve los siguientes resultados-
La primera raíz es: 6.630396332390718431485053218985 La segunda raíz es: 1.0597804633025896291682772499885 La tercera raíz es: - 0.34508839784665403032666523448675 - 1.0778362954630176596831109269793*i El cuarto raíz es: - 0.34508839784665403032666523448675 + 1.0778362954630176596831109269793*i Valor numérico de la primera raíz 6.6304 Valor numérico de la segunda raíz 1.0598 Valor numérico de la tercera raíz -0.3451 - 1.0778i Valor numérico de la cuarta raíz -0.3451 + 1.0778i
Atención, las últimas dos raíces son complejas.
El siguiente ejemplo resuelve la ecuación cuadrática x 4 - 7x 3 + 3x 2 - 5x + 9 = 0.
Cree un archivo de script y escriba el siguiente código-
v = [1, -7, 3, -5, 9]; s = roots(v); % Convertir las raíces a tipo double disp('Valor numérico de la primera raíz'), disp(double(s(1); disp('Valor numérico de la segunda raíz'), disp(double(s(2); disp('Valor numérico de la tercera raíz'), disp(double(s(3); disp('Valor numérico de la cuarta raíz'), disp(double(s(4);
Al ejecutar el archivo, devuelve los siguientes resultados-
Valor numérico de la primera raíz 6.6304 Valor numérico de la segunda raíz -0.34509 + 1.07784i Valor numérico de la tercera raíz -0.34509 - 1.07784i Valor numérico de la cuarta raíz 1.0598
solveLa función también se puede usar para generar soluciones de sistemas de ecuaciones que involucran múltiples variables. Vamos a hacer un ejemplo simple para demostrar este uso.
Vamos a resolver la ecuación-
5x + 9y = 5
3x - 6y = 4
Cree un archivo de script y escriba el siguiente código-
s = solve('5*x + 9*y = 5','3*x - 6*y = 4'); s.x s.y
Mientras ejecuta el archivo, muestra el siguiente resultado-
ans = 22/19 ans = -5/57
Del mismo modo, puede resolver sistemas lineales más grandes. Considere el siguiente conjunto de ecuaciones-
x + 3y -2z = 5
3x + 5y + 6z = 7
2x + 4y + 3z = 8
Tenemos diferentes métodos para resolver un sistema de ecuaciones lineales con n ecuaciones y n incógnitas. Vamos a hacer un ejemplo simple para demostrar este uso.
Vamos a resolver la ecuación-
5x + 9y = 5
3x - 6y = 4
Este sistema de ecuaciones lineales se puede escribir como una ecuación de matriz única Ax = b, donde A es la matriz de coeficientes, b es la columna vectorial que contiene el lado derecho de las ecuaciones lineales, x es la columna vectorial que representa la solución, como se muestra a continuación: en el siguiente programa se muestra-
Cree un archivo de script y escriba el siguiente código-
A = [5, 9; 3, -6]; b = [5;4]; A \ b
Mientras ejecuta el archivo, muestra el siguiente resultado-
ans = 1.157895 -0.087719
Del mismo modo, puede resolver sistemas lineales más grandes, como se muestra a continuación-
x + 3y -2z = 5
3x + 5y + 6z = 7
2x + 4y + 3z = 8
expandycollectSe utilizan respectivamente para descomponer y recoger una ecuación. A continuación, se muestra un ejemplo que ilustra el concepto-
Al usar muchas funciones simbólicas, debe declararse que las variables son simbólicas.
Cree un archivo de script y escriba el siguiente código-
syms x % variable simbólica x syms y % variable simbólica y %Expandir ecuaciones expand((x-5)*(x+9)) expand((x+2)*(x-3)*(x-5)*(x+7)) expand(sin(2*x)) expand(cos(x+y)) %Recopilar ecuaciones collect(x^3 *(x-7)) collect(x^4*(x-3)*(x-5))
Mientras ejecuta el archivo, muestra el siguiente resultado-
ans = x^2 + 4*x - 45 ans = x^4 + x^3 - 43*x^2 + 23*x + 210 ans = 2*cos(x)*sin(x) ans = cos(x)*cos(y) - sin(x)*sin(y) ans = x^4 - 7*x^3 ans = x^6 - 8*x^5 + 15*x^4
es necesario que posea unosimbólicopaquete de software, que proporciona respectivamente}}expandycollectfunciones para expandir y recopilar ecuaciones. A continuación, se muestra un ejemplo que ilustra el concepto-
Al usar muchas funciones simbólicas, debe declarar las variables como variables simbólicas, pero el método de definición de variables simbólicas de Octave es diferente. Nota el usoSinyCos,que también se definen en el paquete simbólico.
Cree un archivo de script y escriba el siguiente código-
%Primero, cargar el paquete, asegúrese de que ya esté instalado. pkg load symbolic %Hacer disponible el módulo symbols symbols %Definir variables simbólicas x = sym('x'); y = sym('y'); z = sym('z'); %Expandir ecuaciones expand((x-5)*(x+9)) expand((x+2)*(x-3)*(x-5)*(x+7)) expand(Sin(2*x)) expand(Cos(x+y)) %Recopilar ecuaciones collect(x^3 *(x-7), z) collect(x^4*(x-3)*(x-5), z)
Mientras ejecuta el archivo, muestra el siguiente resultado-
ans = -45.0+x^2+(4.0)*x ans = 210.0+x^4-(43.0)*x^2+x^3+(23.0)*x ans = sin((2.0)*x) ans = cos(y+x) ans = x^(3.0)*(-7.0+x) ans = (-3.0+x)*x^(4.0)*(-5.0+x)
factorLa función descompone una expresión,simplifyLa función simplifica una expresión. A continuación, se muestra un ejemplo que ilustra el concepto-
Cree un archivo de script y escriba el siguiente código-
syms x syms y factor(x^3 - y^3) factor([x^2-y^2,x^3+y^3] simplify((x^4-16)/(x^2-4))
Mientras ejecuta el archivo, muestra el siguiente resultado-
ans = (x - y)*(x^2 + x*y + y^2) ans = [ (x - y)*(x + y), (x + y)*(x^2 - x*y + y^2)] ans = x^2 + 4