Está en la página 1de 5

lOMoARcPSD|25628420

Sistemas de ecuaciones con Matlab

Programación Básica (Universidad Autónoma del Estado de México)

Studocu no está patrocinado ni avalado por ningún colegio o universidad.


Descargado por Samuel Fontalvo (samufontalvo23@gmail.com)
lOMoARcPSD|25628420

Isabel y Rodrigo pasaron 2 semanas (14 noches) en una excursión por cuatro ciudades de Estados Unidos: Boston,
Nueva York, Filadelfia y Washington. Pagaron $120, $200, $80 y $100 por noche de hospedaje en cada ciudad y su
gasto total por concepto de hotel fue de $2020. El número de días que estuvieron en Nueva York fueron los
mismos que el total de días que pasaron en Boston y Washington; además estuvieron 3 veces más días en Nueva
York que en Filadelfia. ¿Cuántos días pasaron en cada ciudad?

Considerando las variables:

B= días en Boston, N= días en Nueva York, F= días en Filadelfia, W= días en Washington

Solución a través del método algebraico:

Sistema de ecuaciones: B + N + F +W = 14 ---------1 (120B + 200N + 80F + 100W = 2020)/20

B + N +F +W = 14 6B +10N + 4F + 5W = 101 -----2 N = B + W -----3 N = 3F ----4

6B + 10N + 4F + 5W = 101 3 en 1: 4 en 5:

-B + N + 0F -W =0 2N + F= 14 --------5 7F = 14 --------6

0B + N - 3F +0W = 0 Donde F = 2 sustituyendo en 4, N= 3(2) N=6

3 en 2:

6(6-W) + 60 +8 + 5W = 101, W = 3 , sustituyendo en 3, B = 6 – 3 B=3

Finalmente: Estuvieron 3 días en Boston, 6 en Nueva York, 2 en Filadelfia y 3 días en Washington.

MÉTODOS DE SOLUCIÓN DE SISTEMAS DE ECUACIONES QUE PERMITE MATLAB

Un sistema de ecuaciones:

Con m ecuaciones y n incógnitas se puede escribir de la forma matricial: Ax=b, donde

Considerando como ejemplo el sistema: Siguiendo la notación anterior:

( ) () ()
2 −1 1 x 3
2x – y + z = 3 A= 1 1 0 x= y y b= 3
0 1 −3 z −7

x +y = 3

y - 3z = -7

Descargado por Samuel Fontalvo (samufontalvo23@gmail.com)


lOMoARcPSD|25628420

Método 1: Matriz aumentada

Las primeras tres columnas de la matriz aumentada muestran los coeficientes de x , y , z en el sistema lineal. La
cuarta columna en la matriz aumentada muestra los términos constantes en el sistema lineal.

Cuando se forma tanto la matriz de coeficientes como la matriz aumentada de un sistema, se comienza por
alinear verticalmente las variables en las ecuaciones y se usan los 0's para las variables que faltan.

Definiendo la matriz A, y la vector columna b, en MatLab, la sintaxis para escribir la matriz aumentada es:

>> Ab=[A b] Utilizando el comando: rref(Ab) obtenemos:

( ) ( )
2 −1 1 3 1 0 01
1 1 0 3 0 1 02
0 1 −3 −7 0 0 13

Es decir, al solución es: x=1, y=2, z=3

Método 2: Uso de la matriz inversa

Si el sistema tiene una única solución (es compatible determinado), entonces la matriz A es regular (determinante
distinto de 0) y, por tanto, existe su matriz inversa A-1. Entonces la matriz columna resultante del producto
matricial A-1⋅b contiene la solución del sistema Ax=b.

X= A-1 b

La sintaxis de este método sería:

>>x=inv(A)*b

Método 3: División matricial a la izquierda:

Se utiliza el comando:

>>x=A\b

x = A\B resuelve el sistema de ecuaciones lineales A*x = B. Las matrices A y B deben tener el mismo número de
filas. MATLAB ® muestra un mensaje de ADVERTENCIA Si A está mal escalado o casi singular, pero realiza el cálculo
independientemente.
En este caso, el resultado es el mismo, pero es diferente la forma en la que trabaja el ordenador. En este segundo
caso el método que utiliza es el de la factorización LU, que es una modificación de la eliminación gaussiana.
Vamos a ver como resuelve Matlab, internamente, el sistema cuando se utiliza la opción: >>x=A\b. El proceso
se puede dividir en tres etapas:
1) Calcula una matriz triangular inferior L, una matriz triangular superior U y una matriz de permutación P
tales que P A = LU . P es simplemente la matriz identidad I con sus filas cambiadas de orden.
2) Resuelve Ly = P b.
3) Por último, se resuelve U x = y.
La primera etapa es lo que se conoce con el nombre de factorización LU y es el paso más importante. Por lo
tanto, en Matlab sería equivalente utilizar >>x=A\b que utilizar el siguiente proceso:

>>[L,U,P]=lu(A); (Este es el comando que calcula las matrices L, U, P)


>>B=P*b;
>>y=L\B;
>>x=U\y

Descargado por Samuel Fontalvo (samufontalvo23@gmail.com)


lOMoARcPSD|25628420

x = mldivide(A,B) es una forma alternativa de ejecutar x = A\B, pero rara vez se utiliza. Permite la sobrecarga del
operador para las clases.

SOLUCIÓN DEL PROBLEMA A TRAVÉS DE MATLAB:

Método 1:

Método 2:

Método 3:

Descargado por Samuel Fontalvo (samufontalvo23@gmail.com)


lOMoARcPSD|25628420

Código del programa:

%programa que resuelve sistemas de ecuaciones lineales

%considerando el problema:

A=[1 1 1 1;6 10 4 5;-1 1 0 -1;0 1 -3 0];

b=[14;101;0;0];

%Método 1

Ab=[A b];

rref(Ab)

%Método 2

x=inv(A)*b

%Método 3

x=A\b

Referencias:

http://www.mat.ucm.es/~jarrieta/asignaturas/calculocomputacional/practica2

https://es.slideshare.net/hugopiure/soluciones-de-sistema-de-ecuaciones-en-matlab

https://es.mathworks.com/help/matlab/ref/mldivide.html

Descargado por Samuel Fontalvo (samufontalvo23@gmail.com)

También podría gustarte