Lab de Metodos 4
Lab de Metodos 4
Lab de Metodos 4
LABORATORIO #4
Introducción.
A. Métodos Directos.
1. Haga un programa function que genere una matriz tridiagonal cuadrada de orden n. En donde los elementos
de las diagonales son valores a, b, c, y los elementos fuera de la diagonal son cero. Los valores a, b, c, n deben ser
valores de entrada de la función.
2. Usando el programa, determine si la matriz es no singular mediante el comando rank. Si n=10, a=4, b=c=1.
3. Scilab cuenta con sus propias comando para resolver sistemas de ecuaciones lineales. Uno de esto es el comando
backlash “\”, que funciona de forma similar a la inversa de la matriz, es decir, A\b = inv(A)*b. Mientras el comando lu
realiza la descomposición LU con pivoteo. Para la matriz A calculada en el paso anterior, utilice el comando \, y lu,
resuelva el sistema
Ax = b. Ingrese un vector b cualquiera para resolver el sistema. Compare las soluciones obtenidas, y calcule la diferencia
los residuos r=b-Ax.
USANDO COMANDO “\”
USANDO LU
4. Con la matriz A, y el vector b ejecute y compare las respuestas para x=A\b, y x= inv(A)*b
5. En muchas ocasiones se tendrá que revolver varios sistemas de ecuaciones Axi = bi, con la misma matriz A. Para esto
es conveniente generar la matriz B con los diferentes vectores de salida, y resolver un sistema matricial AX=B. Donde la
matriz B esta definida como,
Viendo notablemente que el segundo método es mas rápido en la ejecución del cálculo.
6. Como se ha visto en el ejercicio anterior de cierta forma no es conveniente resolver utilizando la matriz inversa de A.
Los métodos iterativos para la solución de sistemas de ecuaciones se inician con un vector de solución inicial
𝑥 (0) y genera una sucesión de vectores {𝑥 (𝑘) } 𝑘=0 ∞ que converge a x. Estos métodos indirectos
transforman el sistema Ax = b en otro equivalente de la forma 𝒙 = 𝑻𝒙+ 𝒄 para una matriz fija T y un vector c.
Dado un sistema de m ecuaciones con n incógnitas, al escribir de forma explícita el sistema de ecuaciones, se
puede obtener el sistema equivalente,
De modo que la solución aproximada una vez seleccionada el vector 𝑥 (0) , es 𝑥 (𝑖+1) = 𝑻𝒙 (𝑖) +𝑐.
1. Para un sistema de ecuaciones 3x3 mostrada. Determine, para la matriz siguiente, su forma
equivalente 𝑥 (𝑖+1) = 𝑻𝒙 (𝑖) + c.
clc
clear
function [x, it, rh, t]=gauss_seidel(A, b, x0, maxit, tol)//Declaración de variables
tic();//principio del contador
t=0;
rh=zeros(maxit);//Se usa para una matriz del tamaño de maxit
n=size(A,1);//Arroja una matriz de tamaño A por 1
for it=1:maxit//bucle anidado para la matriz maxit
x=x0;
for i=1:n//bucle anidado para la matriz A por 1
x(i)=(b(i)-sum(A(i,1:i-1)*x(1:i-1))-sum(A(i,i+1:n)*x0(i+1:n)))/A(i,i);//Ecuación del sistema de Gaus Seidel
end
rh(it)=norm(x-x0, 'inf');//Se utiliza para hayar la mayor diferencia entre x y x0
if(rh(it)<tol) then
break;//salta al final del ciclo
end
x0=x;
end
t=t+toc();//Final del contador
disp("El número de iteraciones es= "+string(it))//Imprimir las iteraciones calculadas
disp("El tiempo que tarda es= "+string(t))//Imprimir el tiempo que tarda en hacer los calculos
endfunction
2. Haga una function que genere el proceso iterativo de Jacobi para el sistema lineal Ax = b. Como
parámetros la función debe tener el número de incógnitas n, la matriz A, el vector b, el error de
convergencia, y el número de iteraciones. El programa debe entregar el vector de soluciones con el
número de iteraciones necesarias para alcanzar la convergencia. En caso de no se alcanzar el error
deseado con la cantidad máxima de iteraciones, debe mandar un mensaje de que no se llegó a la
convergencia.
En análisis numérico, una matriz dispersa es una matriz poblada principalmente con ceros. Las matrices
dispersas enormes a menudo aparecen en ciencia o ingeniería cuando se resuelven ecuaciones
diferenciales parciales. Scilab proporciona varias características para manejar matrices dispersas y
realizar operaciones habituales de álgebra lineal en ellos. Comandos Básicos de Scilab para matrices
dispersas:
En cada código, se debe comentar cada línea, indicando qué se está haciendo. Los mismos deben ser
copiados y pegados en el informe.2.
8. Resuelva { 𝑥 2 + 𝑥𝑦 = 10 𝑦 + 3𝑥𝑦 2 = 57
Nota: El número de iteraciones, error de redondeo y puntos iniciales contenidos en el vector x0, pueden ser
cambiados a su gusto. Esta actividad entra dentro del laboratorio de solución de sistemas de ecuaciones.
Conclusión
Bibliografía