0% encontró este documento útil (0 votos)
24 vistas3 páginas

Resolución de Sistemas de Ecuaciones en MATLAB

El documento describe métodos para resolver sistemas de ecuaciones lineales utilizando MATLAB, incluyendo sustitución hacia atrás, eliminación de Gauss y el método de Cramer. Se presentan ejemplos prácticos de cómo implementar estos métodos y graficar las soluciones obtenidas. Además, se discuten las soluciones utilizando la matriz inversa y el método de Jacobi.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
24 vistas3 páginas

Resolución de Sistemas de Ecuaciones en MATLAB

El documento describe métodos para resolver sistemas de ecuaciones lineales utilizando MATLAB, incluyendo sustitución hacia atrás, eliminación de Gauss y el método de Cramer. Se presentan ejemplos prácticos de cómo implementar estos métodos y graficar las soluciones obtenidas. Además, se discuten las soluciones utilizando la matriz inversa y el método de Jacobi.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

%{ % Sustitución hacia atrás para

Dado el siguiente sistema de obtener la solución


ecuaciones, calcular los valores x = zeros(n,1);
de x1, x2, x3 y x4. Para ello x(n) = Ab(n,end) / Ab(n,n);
aplicar la ecuación Ax=b for i = n-1:-1:1
0.15x + 2.11y + 30.75z=-26.38 x(i) = (Ab(i,end) -
0.64x + 1.21y + 2.05z=1.01 Ab(i,i+1:n) * x(i+1:n)) / Ab(i,i);
3.21x + 1.53y +1.04z=5.23 end
%}
clc % Mostrar el resultado
clear disp('La solución del sistema
A=[0.15,2.11,30.75;0.64,1.21,2.05; es:');
3.21,1.53,1.04]; disp(x);
b=[-26.38;1.01;5.23];
%Solucion usando division inversa % Gráfica de las ecuaciones
x=A\b; [X1, X2] = meshgrid(-10:1:10, -
disp(x); 10:1:10);
disp('Solucion utilizando la X3_1 = (2*X1 - 6*X2 + 38)/1;
ecuacion Ax=b'); X3_2 = (-3*X1 - X2 + 34)/7;
fprintf('x1=%5.3f\n',x(1)); X3_3 = (-8*X1 + X2 + 20)/2;
fprintf('x2=%5.3f\n',x(2));
fprintf('x3=%5.3f\n',x(3)); figure;
surf(X1, X2, X3_1);
%Solucion usando matriz inversa hold on;
z=inv(A)*b; surf(X1, X2, X3_2);
disp('Solucion utilizando la surf(X1, X2, X3_3);
inversa de una matriz'); xlabel('x1');
fprintf('x1=%5.3f\n',z(1)); ylabel('x2');
fprintf('x2=%5.3f\n',z(2)); zlabel('x3');
fprintf('x3=%5.3f\n',z(3)); title('Gráfica del sistema de
ecuaciones');
Resolver el siguiente sistema de ecuaciones legend('2x1 - 6x2 - x3 = -38', '-
3x1 - x2 + 7x3 = -34', '-8x1 + x2
2x1-6x2-x3=-38
- 2x3 = -20');
-3x1-x2+7x3=-34 hold off;
-8x1+x2-2x3=-20
Plantear la solución bajo el método de METODO CRAMER
eliminación de gauss simple usando matlab.y
graficar. Resolver el siguiente sistema de
% Sistema de ecuaciones
ecuaciones
A = [2 -6 -1; -3 -1 7; -8 1 -2];
b = [-38; -34; -20]; 2x1-6x2-x3=-38
-3x1-x2+7x3=-34
% Matriz aumentada -8x1+x2-2x3=-20
Ab = [A b];
% Definir la matriz de
% Aplicación del método de coeficientes A y el vector b
eliminación de Gauss A = [2 -6 -1; -3 -1 7; -8 1 -2];
n = size(Ab,1) b = [-38; -34; -20];

for i = 1:n-1 % Calcular el determinante de A


for j = i+1:n det_A = det(A);
factor = Ab(j,i) /
Ab(i,i);
Ab(j,:) = Ab(j,:) - factor % Calcular los determinantes
* Ab(i,:); reemplazando cada columna de A por
end b
end A1 = A; A1(:,1) = b;
A2 = A; A2(:,2) = b;
A3 = A; A3(:,3) = b; disp(x);

det_A1 = det(A1); % Gráfica de las ecuaciones


det_A2 = det(A2); [X,Y] = meshgrid(-10:1:10, -
det_A3 = det(A3); 10:1:10);
X3_1 = (-220+4*Y+2*X)/5;
% Solución utilizando el X3_2 = (6*X + 4*Y -490)/4;
método de Cramer X3_3 = (4.1*X+5*Y-274)/2;
x1 = det_A1 / det_A;
x2 = det_A2 / det_A; figure;
x3 = det_A3 / det_A; surf(X, Y, X3_1);
hold on;
% Mostrar los resultados surf(X, Y, X3_2);
disp('La solución del sistema surf(X, Y, X3_3);
es:'); xlabel('x1');
fprintf('x1 = %.2f\n', x1); ylabel('x2');
fprintf('x2 = %.2f\n', x2); zlabel('x3');
fprintf('x3 = %.2f\n', x3); title('Gráfica del sistema de
ecuaciones');
legend('2x + 4y + 5z=220', '6x +
Dado el sistema de ecuaciones 9y + 8z=490', '4.1x + 5y +
3z=274');
lineales hold off;
2x + 4y + 5z=220
6x + 9y + 8z=490 método Cramer HUARI
4.1x + 5y + 3z=274

METODO DE LA ELIMINACION DE GAUS %{


% Sistema de ecuaciones SOLUCION DE ECUACIONES LINEALES.
A = [2 4 5;6 9 8;4.1 5 3]; METODO DE CRAMER
b = [220;490;274]; Dado el sistema de ecuaciones
lineales
% Matriz aumentada 3x+4y +2z=3
Ab = [A b]; x +2y+z=5
2x+y+5z=1
% Aplicación del método de %}
eliminación de Gauss clc;clear;
n = size(Ab,1) format short;
%Matriz del sistema
for i = 1:n-1 A=[3,4,2;1,2,1;2,1,5];
for j = i+1:n b=[3;5;1];
factor = Ab(j,i) / %Elaborando las matrices par x,
Ab(i,i); y , z
Ab(j,:) = Ab(j,:) - factor Mx=[3,4,2;5,2,1;1,1,5];
* Ab(i,:); My=[3,3,2;1,5,1;2,1,5];
end Mz=[3,4,3;1,2,5;2,1,1];
end %Calculando las determinates
%Determinate del sistema
% Sustitución hacia atrás para ds=det(A); dx=det(Mx) ;
obtener la solución dy=det(My); dz=det(Mz);
x = zeros(n,1); %Calculo de las incognitas
x(n) = Ab(n,end) / Ab(n,n); x=dx/ds; y=dy/ds ; z=dz/ds;
for i = n-1:-1:1 disp('Solucion por el metodos de
x(i) = (Ab(i,end) - cramer ');
Ab(i,i+1:n) * x(i+1:n)) / Ab(i,i); fprintf('x=%4.0f, y=%4.0f , z=
end %4.0f\n',x,y,z);
%Solucion aplicando inversa de una
% Mostrar el resultado matriz
disp('La solución del sistema q=inv(A)*b;
es:');
disp('Solucion aplicando matriz x_new(i) = (b(i) - suma) /
inversa'); A(i, i);
fprintf('x=%4.0f, y=%4.0f , z= end
%4.0f\n',q(1),q(2),q(3));
%Solucion usando division inversa % Verificación de la
p=A\b; tolerancia para la convergencia
disp('Solucion aplicando division if norm(x_new - x, inf) <
inversa'); tolerancia
fprintf('x=%4.0f, y=%4.0f , z= fprintf('Convergencia
%4.0f\n',p(1),p(2),p(3)); alcanzada en %d iteraciones.\n',
%Graficando el sistema de k);
ecuaciones break;
[x,y]=meshgrid(linspace(-10,10)); end
z=(3-3*x-4*y)/2;
z1=(5-x-2*y); % Actualización de x
z2=(1-2*x-y)/5; x = x_new;
%graficando end
hold on
plot3(x,y,z); % Mostrar la solución
mesh(x,y,z1); disp('La solución del sistema
surf(x,y,z2); es:');
plot3(p(1),p(2),p(3),'oy','linewid disp(x);
th',2);
grid on ; grid minor; % Crear graficar
view(20,45);
[X,Y] = meshgrid(-10:1:10, -
10:1:10);
METODO JACOBI (SI FUNCIONA)
z1 = (7.85 - 3*X + 0.1*Y) / 0.2;
% Matriz de coeficientes A y z2 = (-19.3 - 0.1*X - 7*Y) / -0.3;
vector de términos independientes z3 = (71.4 - 0.3*X + 0.2*Y) / 10;
b
A = [4 -1 0; -1 4 -1; 0 -1 3]; figure;
b = [15; 10; 10]; hold on;
%condiciones del problema surf(X, Y, z1, 'FaceAlpha', 0.5 );
n = length(b); % Primer plano
tolerancia = 1e-6; surf(X, Y, z2, 'FaceAlpha', 0.5 );
maxinteraccion = 100; % Segundo plano
surf(X, Y, z3, 'FaceAlpha', 0.5);
% Vector inicial % Tercer plano
x = zeros(n, 1);
% Graficar la solución
% Vector para la nueva plot3(x(1), x(2), x(3), 'ro',
aproximación 'MarkerSize', 10,
x_new = zeros(n, 1); 'MarkerFaceColor', 'r');

% Iteración de Jacobi % Configuración del gráfico


for k = 1:maxinteraccion xlabel('X');
for i = 1:n ylabel('Y');
% Suma de los elementos no zlabel('Z');
diagonales title('Gráfica de los Planos del
suma = 0; Sistema de Ecuaciones');
for j = 1:n grid on;
if j ~= i legend('3x - 0.1y - 0.2z = 7.85',
suma = suma + A(i, '0.1x + 7y - 0.3z = -19.3', '0.3x
j) * x(j); - 0.2y + 10z = 71.4', 'Solución');
end view(3); % Ver en 3D
end hold off;
% Actualización de x_i

También podría gustarte