Ejercicios matlab
[pic]
Algoritmos:
• Cambiar sistema de ecuaciones a sistema triangular inferior:
function X = gausssustitucionprogresiva(A, b)
% Devuelve en X, matriz de tamaño nx1, la solución del sistema AX=B con el método de Gauss sin pivotaje
% A es una matriz cuadrada de tamaño n, matriz de los coeficientes
% b es una matriz de tamaño nx1
n=length(A);% transformación del sistema en uno triangular
for i=n:-1:2
for j=i-1:-1:1
m=A(i,i)/A(j,i); A(j,i) = 0;
for k=i-1:-1:1
A(j,k) = m*A(j,k)-A(i, k);
end
b(j)=m*b(j)-b(i);
end
end
A % La matriz del sistema triangulada
b=b' % El vector de términos independientes
% resolución del sistema triangular porsustitución regresiva
X = sustitucionprogresiva(A, b);
• Resolución de sistema de gauss progresivo:
function X=sustitucionprogresiva(A,b)
% Datos
% - A matriz triangular inferior invertible de orden n
% - b matriz de los términos independientes de dimensión n x 1
% Resultado
% - X solución del sistema lineal A.X=b
% Cálculo de la dimensión de b e inicializaciónde X
n = length(b);
X = zeros(n,1);X(1) = b(1)/A(1,1);
for k = 2:1:n
X(k) = (b(k)-A(k,1:k-1)*X(1:k-1))/A(k,k);
end
• Ejercicio:
[pic]
X=sustitucionprogresiva([5 0 0 0; 3 2 0 0; 2 -1 4 0; -1 1 -2 3],[15 11 -3 8])
X =
3
1
-2
2
• Significado:
La resolucióndel sistema es x1= 3; x2=1; x3=-2; x4=2
Problema 2
[pic]
• Datos de matlab:
A=eye(50)*12;
B=linspace (-2,-2,49);
C=linspace (1,1,48);
Matriz=A+diag(B,-1)+diag(B,1)+diag(C,-2)+diag(C,2);
Terminos=linspace (5,5,50);
Terminos=Terminos’
Semilla=linspace(0,0,50);
Semilla=Semilla’
[x,err,iter]=gausseidel2(Matriz, Terminos, Semilla,0.00001,10)
x1 | 0.4638 |x11 | 0.5000 |x21 | 0.5000 |x31 | 0.5000 |x41 | 0.5000 | |x2 | 0.5373 |x12 | 0.5000 |x22 | 0.5000 |x32 | 0.5000 |x42 | 0.5000 | |x3 | 0.5090 |x13 | 0.5000 |x23 | 0.5000 |x33 | 0.5000 |x43 | 0.5000 | |x4 | 0.4982 |x14 | 0.5000 |x24 | 0.5000 |x34 | 0.5000 |x44 | 0.5001 | |x5 |0.4989 |x15 | 0.5000 |x25 | 0.5000 |x35 | 0.5000 |x45 | 0.5000 | |x6 | 0.5000 |x16 | 0.5000 |x26 | 0.5000 |x36 | 0.5000 |x46 | 0.4989 | |x7 | 0.5001 |x17 | 0.5000 |x27 | 0.5000 |x37 | 0.5000 |x47 | 0.4982 | |x8 | 0.5000 |x18 | 0.5000 |x28 | 0.5000 |x38 | 0.5000 |x48 | 0.5090 | |x9 | 0.5000 |x19 | 0.5000 |x29 | 0.5000 |x39 | 0.5000|x49 | 0.5373 | |x10 | 0.5000 |x20 | 0.5000 |x30 | 0.5000 |x40 | 0.5000 |x50 | 0.4638 | |
Error de la ultima iteración = 1.6917e-006
Iteraciones necesarias= 9
Problema 3
[pic]
a) ezplot ('4*x^2-20*x+0.25*y^2+8');
hold on
ezplot ('(0.5*x*(y^2))+2*x-5*y+8')
[pic]
Semillas elegidas: (1, 6) ; (0.5, 2).
b)Hecho a mano
c) Introducción de la matriz en matlab G3.m
function y = G3(x)
y(1)=(10*x(2)-16-4*x(1))/x(2)^2;
y(2)=((20*x(1)-8-4*x(1)^2)/0.25)^0.5;
Semilla (0.5, 2)
[x, iter, A] = puntofijovariasvariables('G3', [0.5,2], 0.00001, 30)
x =
0.5000 2.0000
iter =
2
A =
1.0000 0.5000 2.0000
1.0000 0.50002.0000
Semilla (1, 6)
[x, iter, A] = puntofijovariasvariables('G3', [1,6], 0.00001, 30)
x =
1.0967 6.0409
iter =
21
A =
1.0000 1.0000 6.0000
1.0000 1.1111 5.6569
2.0000 1.1289 6.0939
3.0000 1.0885 6.1580
4.0000 1.0872 6.0103
5.0000 1.1005 6.0052
6.0000 1.0995 6.0550...
Regístrate para leer el documento completo.