Escolar Documentos
Profissional Documentos
Cultura Documentos
clear
clc
tol=0.001;
x=input('valores para x= ')
y=input('valores para y= ')
for c=1:50;
f1=x^2+x*y-10;
f2=y+3*x*y^2-57;
A(1,1)=2*x+y;
A(2,1)=3*y^2;
A(1,2)=x;
A(2,2)=1+6*x*y;
F(1,1)=-f1;
F(2,1)=-f2
B=inv(A);
H=B*F;
Nx=H(1,1)+x;
Ny=H(2,1)+y;
D=(H(1,1)^2+H(2,1)^2)^0.5;
if D<tol
Nx
Ny
break
else
x=Nx;
y=Ny;
end
end
tol=0.001
nmax=50
xi=input('ingrese numeroxi=')
xs=input('ingrese numeroxs=')
fxi=3*xi^3+2*xi^2+10*xi-20
fxs=3*xs^3+2*xs^2+10*xs-20
if fxi*fxs>0
disp('intervalo no valido')
break
end
for c=1:nmax
xn=(xi+xs)/2
fxn=3*xn^3+2*xn^2+10*xn-20
if abs(fxn)<=tol
xn;
break
else
xi=xn;
end
end
% Metodo Matricial de NEWTON RAPHSON:
clear
clc
tol=0.001;
x=input('valores para x= ');
y=input('valores para y= ');
for c=1:50;
f1=x^2+x*y-10;
f2=y+3*x*y^2-57;
dfx1=2*x+y;
dfx2=3*y^2;
dfy1=x;
dfy2=1+6*x*y;
A=[dfx1,dfy1;dfx2,dfy2];
F=[-f1;-f2];
B=inv(A);
H=B*F;
Nx=H(1)+x;
Ny=H(2)+y;
D=(H(1)^2+H(2)^2)^0.5;
if abs(D)<=tol
Nx
Ny
break
else
x=Nx;
y=Ny;
end
end
newton
clear
tol=0.001;
NMAXITE=50;
x=input('ingrese el valor inicial de x = ');
clc
for c=1:NMAXITE;
Fx=x^3+2*x^2+10*x-20;
DFx=3*x^2+4*x+10;
NUEVAx=x-Fx/DFx;
NFx=NUEVAx^3+2*NUEVAx^2+10*NUEVAx-20;
if abs(NFx)<=tol
NUEVAx;
break
end
x=NUEVAx;
end
NUEVAx
abs(NFx)
c
subplot(1,2,2)
disp('Grafica volumen Vs Temperatura')
plot(Temp,Ental);
title('Grafica volumen Vs Temperatura');
xlabel('Temperatura');
ylabel('volumen');
% Metodo Matricial de NEWTON RAPHSON:
clear
clc
tol=0.001;
x=input('valores para x= ')
y=input('valores para y= ')
for c=1:50;
f1=x^2+x*y-10;
f2=y+3*x*y^2-57;
A(1,1)=2*x+y;
A(2,1)=3*y^2;
A(1,2)=x;
A(2,2)=1+6*x*y;
F(1,1)=-f1;
F(2,1)=-f2
B=inv(A);
H=B*F;
Nx=H(1,1)+x;
Ny=H(2,1)+y;
D=(H(1,1)^2+H(2,1)^2)^0.5;
if D<tol
Nx
Ny
break
else
x=Nx;
y=Ny;
end
end
newton
tol=0.00001
xi=input ('introducir valor inicial de x =
for y = 1:10;
F = xi^3+2*(xi^2)+10*xi-20
df = 3*(xi^2)+(4*xi)+10
Y = xi - (F/df)
F1=Y^3+2*(Y^2)+10*Y-20
if abs(F1)<=tol
')
Y
break
else
xi = Y
end
end
y
tol=0.00001
xi=input ('introducir valor inicial de x =
while xi >=tol
F = xi^3+2*(xi^2)+10*xi-20
df = 3*(xi^2)+(4*xi)+10
Y = xi - (F/df)
F1=Y^3+2*(Y^2)+10*Y-20
if abs (F1)<=tol
Y
break
else
xi=Y
end
end
')
tol=0.001
Nmax=50;
for c=1:Nmax;
nx=(10-x^2)/y
ny=57-3*x*y^2
h1=nx-x
h2=ny-y
D=(h1^2+h2^2)^(0.5)
if D<=tol
disp(nx)
disp(ny)
break
end
x=nx
y=ny
end
end
c
%newton multivariable:
clc
x=input('ingresar el valor de x= ');
y=input('ingresar el valor de y= ');
tol=0.001
Nmax=50;
for c=1:Nmax;
Fx=x^2+x*y-10;
Fy=y+3*x*y^2-57;
dFx=2*x+y;
dFy=1+6*x*y;
nx=x-Fx/dFx;
ny=y-Fy/dFy;
NFx=nx^2+nx*y-10;
NFy=ny+3*x*ny^2-57;
h1=nx-x;
h2=ny-y;
D=(h1^2+h2^2)^(0.5);
if D<=tol
disp(nx);
disp(ny);
break
end
x=nx;
y=ny;
end
end
c
%ejercicio:
tol=0.001
Nmax=50
xi=input('ingrese numeroxi=')
xs=input('ingrese numeroxs=')
fxi=3*xi^3+2*xi^2+10*xi-20
fxs=3*xs^3+2*xs^2+10*xs-20
if fxi*fxs>0
'intervalo no valido'
break
end
for c=1:Nmax
xr=(xi+xs)/2
fxr=3*xr^3+2*xr^2+10*xr-20
if abs(fxr)<=tol
xr;
break
end
if fxi*fxr>0
xi=xr
fxi=fxr
else
xs=xr
fxs=fxr
end
end
%metodo de newton:
tol=0.001;
NMAX=50
x=input('ingresar valor inicial de x= ');
for c=1:NMAX;
Fx=(x^3)+(2*x^2)+10*x-20;
DFx=(3*x^2)+4*x+10;
Nx= x-Fx/DFx
NFx=Nx^3+2*Nx^2+10*Nx-20;
if abs(NFx)<=tol
Nx;
break
end
x=Nx;
end
NFx
c
%ejercicio:
tol=0.001
nmax=50
xi=input('ingrese numeroxi=')
xs=input('ingrese numeroxs=')
fxi=3*xi^3+2*xi^2+10*xi-20
fxs=3*xs^3+2*xs^2+10*xs-20
if fxi*fxs>0
disp('intervalo no valido')
break
end
for c=1:nmax
xn=(xi+xs)/2
fxn=3*xn^3+2*xn^2+10*xn-20
if abs(fxn)<=tol
xn;
break
else
xi=xn;
end
end
biseccion
XI =input ('ingresar el valor de XI =
');
XS= input ('ingresar el valor de XS =
');
FXI = 3*(XI^3)+2*(XI^2)+10*XI-20
FXS = 3*(XS^3)+2*(XS^2)+10*XS-20
nmax=70
tol = 0.001
for c=1:nmax
Xn = (XI+XS)/2
FXn = 3*(Xn^3)+2*(Xn^2)+10*Xn-20
if abs(FXn) <= tol
Xn
break
else
if
FXn*FXI < 0
XS=Xn
else
XI = Xn
end
end
end
c
XI =input ('ingresar el valor de XI =
');
XS= input ('ingresar el valor de XS =
');
FXI = 3*(XI^3)+2*(XI^2)+10*XI-20
FXS = 3*(XS^3)+2*(XS^2)+10*XS-20
nmax=70
tol = 0.001
if FXI* FXS >0
fprintf('intervalo no valido')
break
else
for c=1:nmax
Xn = (XI+XS)/2
FXn = 3*(Xn^3)+2*(Xn^2)+10*Xn-20
if abs(FXn)<=tol
Xn
break
else
XI = Xn
end
end
c
end
');
');
punto fijo
tol=0.00001
xi=input ('introducir valor inicial de x =
for y = 1:10;
g =xi^3+2*(xi^2)+10*xi-20+xi
E= (g-xi)/g
if abs(E)<=tol
g
fprintf('converge')
break
else
xi = g
fprintf('noconverge')
end
end
y
')
%
RESOLUCION DE ECUACIONES DIFERENCIALES ORDINARIAS
%
RUNGE-KUTTA CUARTO ORDEN
%
%
Autor: Ing. Miguel Angel Crdenas Mlaga
%
Febrero 2001
%---------------------------------------------------------------------------%
INSTRUCCIONES
%
Defina ecuacin a resolver en:
%
archivo de funcin: edo.m
%
NOMENCLATURA
%
x variable independiente
%
y variable dependiente
%--------------------------------------------------------------------------clc
fprintf('INGRESE CONDICIONES INICIALES\n\n')
x = 0;
y = input('ingrese Y
para X = 0:
y = ');
xf = input('ingrese el valor final de x= ');
h = input('ingrese ancho de paso h = ');
fprintf('-----------------------------------------------------------------------------------------\n');
fprintf('
METODO DE RUNGE KUTTA DE CUARTO ORDEN: RK4\n\n')
fprintf('
x
y
k1
k2
k3
k4
ymas1\n')
fprintf('-----------------------------------------------------------------------------------------\n');
while x <= xf;
k1=feval('edo',x,y);
xk = x +h/2;
yk = y + h*k1/2;
k2=feval('edo',xk,yk);
yk = y + h*k2/2;
k3=feval('edo',xk,yk);
xk = x +h;
yk = y + h*k3;
k4=feval('edo',xk,yk);
y1 = y + h/6*(k1+2*k2+2*k3+k4);
fprintf('%5.3f%13.3f%13.2f%13.3f%13.3f%13.3f%13.3f\n',x,y,k1,k2,k3,k4,y1)
;
x = x + h;
y = y1;
end
fprintf('-------------------------------------------------------------------------------------------\n');
fprintf('
x
y
k1
k2
k3
k4
ymas1\n')
fprintf('-------------------------------------------------------------------------------------------\n');
k12
else
fprintf('
end
LA RESPUESTA ES:%12.4f\n',x);