English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Álgebra de MATLAB

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.

Resolver ecuaciones algebraicas básicas en MATLAB

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

Resolver ecuaciones algebraicas básicas usando Octave

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

Resolver ecuaciones cuadráticas en MATLAB

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

Resolver ecuaciones cuadráticas usando Octave

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

Resolver ecuaciones de orden superior en MATLAB

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.

Resolución de ecuaciones de orden superior en Octave

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

Resolución de sistemas de ecuaciones en MATLAB

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

Resolución de sistemas de ecuaciones en Octave

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

Descomposición y recopilación de ecuaciones en MATLAB

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

descomposición y colección de ecuaciones en la octava

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)

Factorización y simplificación de expresiones algebraicas

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-

Ejemplo

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