Está en la página 1de 4

METODO JACOBI

clc;
clear;
disp("script para metodo de jacobi");
%asignamos el error de aproximacion que va a tener el algoritmo
err = 10^-5;
%Guarda el error que se calcula, en este caso un error maximo
ecalx = 100;
ecaly=100;
ecalz=100;
ecalh=100;
%raiz previa
xp=0;
yp=0;
zp=0;
hp=0;
%iteraciones
i = 1;
%Se ponen los titulos de las columnas
fprintf("No. X1n\t X2n\t X3n\t X4n\t |Eax1| |Eax2| |Eax3| |Eax4|\n");
%Ponemos un ciclo con una condicion para detener las iteraciones
while (ecalx>err||ecaly>err||ecalz>err||ecalh>err)
%eEvaluamos todas las funciones
xra=f(yp);
ecalx = eproxx(xra,xp);
yra=g(xp,zp);
ecaly = eproxy(yra,yp);
zra=k(yp,hp);
ecalz = eproxz(zra,zp);
hra=m(zp);
ecalh = eproxh(hra,hp);
fprintf("%d %0.3f\t %0.3f\t %0.3f\t %0.3f\t %0.7f\t %0.7f\t %0.7f\t
%0.7f\n",i,xp,yp,zp,hp,ecalx,ecaly,ecalz,ecalh);
i=i+1;
xp=xra;
yp=yra;
zp=zra;
hp=hra;
end
function eax = eproxx(xa,xp)
eax=abs((xa-xp)/xa)*100;
end
function eay = eproxy(ya,yp)
eay=abs((ya-yp)/ya)*100;
end
function eaz = eproxz(za,zp)
eaz=abs((za-zp)/za)*100;
end
function eah = eproxh(ha,hp)
eah=abs((ha-hp)/ha)*100;
end
function fun1=f(x)
fun1=(6-(5*x))/10;
end
function y1=g(x,z)
y1=(25-(5*x)+(z))/10;
end
function Z1=k(y,h)
Z1=(-11+(4*y)+h)/8;
end
function H1=m(z)
H1=(-11+z)/5;

end
METODO GAUSS SEIDEL
clc;
clear;
disp("script para metodo de Gauss-Seidel");
%asignamos el error de aproximacion que va a tener el algoritmo
err = 10^-5;
%Guarda el error que se calcula, en este caso un error maximo
ecalx = 100;
ecaly=100;
ecalz=100;
ecalh=100;
%raiz previa
xp=0;
yp=0;
zp=0;
hp=0;
%iteraciones
i = 1;
%Se ponen los titulos de las columnas
fprintf("No. X1n\t X2n\t X3n\t X4n\t |Eax1| |Eax2|
|Eax3| |Eax4|\n");
%Ponemos un ciclo con una condicion para detener las iteraciones
while (ecalx>err||ecaly>err||ecalz>err||ecalh>err)
%eEvaluamos todas las funciones
xra=f(yp);
ecalx = eproxx(xra,xp);
xp=xra;
yra=g(xp,zp);
ecaly = eproxy(yra,yp);
yp=yra;
zra=k(yp,hp);
ecalz = eproxz(zra,zp);
zp=zra;
hra=m(zp);
ecalh = eproxh(hra,hp);
fprintf("%d %0.3f\t %0.3f\t %0.3f\t %0.3f\t %0.7f\t %0.7f\t %0.7f\t
%0.7f\n",i,xp,yp,zp,hp,ecalx,ecaly,ecalz,ecalh);
i=i+1;
hp=hra;
end
function eax = eproxx(xa,xp)
eax=abs((xa-xp)/xa)*100;
end
function eay = eproxy(ya,yp)
eay=abs((ya-yp)/ya)*100;
end
function eaz = eproxz(za,zp)
eaz=abs((za-zp)/za)*100;
end
function eah = eproxh(ha,hp)
eah=abs((ha-hp)/ha)*100;
end
function fun1=f(x)
fun1=(6-(5*x))/10;
end
function y1=g(x,z)
y1=(25-(5*x)+(z))/10;
end
function Z1=k(y,h)
Z1=(-11+(4*y)+h)/8;
end
function H1=m(z)
H1=(-11+z)/5;

end

También podría gustarte