Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tarea 4 Metodosjosean
Tarea 4 Metodosjosean
Tarea 4 MMIP
x=0.1:0.1:10
y=sin(sqrt(x))-x;
figure(1)
plot(x,y), grid on, hold on
xlabel('Eje x'), ylabel('Eje y'), title('Metodo grafico')
Resultado obtenido aplicando el metodo grafico es 0.76
Codigo de Metodo de punto fijo
clear all
close all
clc
xi=1
ninter=1e6;
tol=1e-3;
for i=1:ninter
xn=sin(sqrt(xi))
error=abs((xn-xi)/xn)*100
figure(1)
semilogy(i,error,'or'),grid on, hold on
xlabel('iteraciones'), ylabel('% error'), title('METODO DE PUNTO FIJO')
if error<tol
disp('sol encontrado')
solf=xn; errorf=error, iterf=i
break
end
xi=xn;
end
Tabla de datos
i Xi Xi+1 %E
23.033933
0 0.5 0.649637 3
9.9631998
1 0.64964 0.721524 7
3.9122817
2 0.72152 0.750901 5
1.4690632
3 0.75090 0.762097 4
0.5417686
4 0.76210 0.766248 4
0.1984328
5 0.76625 0.767772 7
0.0724957
6 0.76777 0.768329 4
0.0264610
7 0.76833 0.768532 8
0.0096550
8 0.76853 0.768606 6
0.0035224
9 0.76861 0.768633 8
10 0.76863 0.768643 0.0012850
6
11 0.76864 0.768647 0.0004688
0.0001710
12 0.76865 0.768648 2
Codigo Metodo de Newton-Raphson.
clear all
close all
clc
xi=0.5;
tol=1e-3;
niter=1e3;
for i=1:niter
fx=sin(sqrt(xi))-xi
dfx=(cos(sqrt(xi))/(2*sqrt(xi)))-1
% ec de NR
xn=xi-fx/dfx;
error=abs((xn-xi)/xn)*100;
figure(1)
semilogy(i,error,'or'), grid on, hold on
xlabel('iteraciones 1'), ylabel('% error'), title('METODO DE NEWTON-RAPHSON')
if error<tol
disp('Solucion encontrada')
soluf=xn;
errorf=error
iterf=i,
break
end
xi=xn
end
tabla de datos
i Xi Xi+1 %E
39.290267
0 0.5 0.823591 7
7.0020783
1 0.82359 0.769696 3
0.1362331
2 0.76970 0.768649 8
5.4656E-
3 0.76865 0.768649 05
8.7963E-
4 0.76865 0.768649 12
Su grafico es el siguiente.
K=0.05;
pt=3;
x=0:0.1:1;
y=((x./(1-x)).*((2.*pt)./
(2+x)).^0.5)-K;
figure(1)
plot(x,y), grid on
-20 xi=0.001;
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Niter=1e3;
tol=1e-3;
for i=1:Niter
xn=(K.*((2.*pt)./(2+xi)).^0.5)*(1-xi)
Error=(abs((xn-xi)/xi))*100
figure(2)
semilogy(i,Error,'or'),grid on, hold on
xlabel('iteraciones')
ylabel('%Error')
if Error<tol
disp('Sol encontrada')
solf=xn;
Errorf=Error;
iterf=i
break
end
xi=xn;
end
%Solf=0.0783 iter=7 Error=1.3882e-4
Graficos corresponfientes
Su tabla de valores es la 104
siguiente.
102
%Error
100
10-2
10-4
1 2 3 4 5 6 7
iteraciones
i Xi Xi+1 %E
98.843854
0 0.001 0.086494 7
11.670714
1 0.08649 0.077455 1
1.1945767
2 0.07745 0.078391 8
0.1241682
3 0.07839 0.078294 5
0.0128859
4 0.07829 0.078304 5
5 0.07830 0.078303 0.0013375
0.0001388
6 0.07830 0.078303 2
1.4409E-
7 0.07830 0.078303 05
xi=0.001;
Niter=1e3;
tol=1e-3;
K=0.05
pt=3
for i=1:Niter
fx=((xi./(1-xi)).*((2.*pt)./(2+xi)).^0.5)-K;
dfx=(pt.*(xi.^2+xi+4))./((2.^0.5).*((xi-1).^2).*((xi+2).^2).*((pt./(xi+2)).^0.5));
xn=xi-(dfx.^-1).*fx;
Error=abs((xn-xi)/xn)*100;
figure(3)
semilogy(i,Error,'or'), grid on, hold on
xlabel('iteraciones')
ylabel('%Error')
if Error<tol
soluf=xn, Error=Error, iterf=i,
break
end
xi=xn
end
%Solf=0.0282 Error=9.2710e-4 i=3
102
101
100
%Error
10-1
10-2
10-3
10-4
1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3
iteraciones
i Xi Xi+1 %E
96.530783
0 0.001 0.028825 8
1 0.02882 0.028250 2.0363103
2 0.02825 0.028249 0.0009271
1.9191E-
3 0.02825 0.028249 10
Codigo De Newton-R multivariable
clear all
close all
clc
x0=1.2;
y0=1.2;
Niter=1000;
tol=1e-3;
for i=1:Niter
X0=[x0;y0];
f1=-x0^2+x0+0.75-y0;
f2=y0+5*x0*y0-x0^2;
df1x=1-2*x0;
df1y=-1;
df2x=5*y0-2*x0;
df2y=5*x0+1;
ja=[df1x,df1y;df2x,df2y];
f0=[f1;f2];
Xn=X0-ja^-1*f0
error=(sum(abs((Xn-X0)/Xn)))*100;
figure(1)
semilogy(i,error,'or'), grid on, hold on
xlabel('Iteraciones'), ylabel('%error'), title('Metodo de Newton Raphson
Multivariable')
if error<tol
disp('sol enconterada')
Xsol=Xn;
errorf=error;
iterf=i
break
end
x0=Xn(1)
y0=Xn(2)
end
Su grafico es el siguiente
Codigo Newton-R multivariable
clear all
close all
clc
ko=exp(25);
ER=104;
Ce=1;
Te=350;
Th=1;
B=1;
S=200;
Tj=350;
Co=0.98;
To=350;
Niter=1e3;
tol=1e-3;
for i=1:Niter
co=[Co;To];
f1=Th.*(Ce-Co)-Co.*ko.*exp(-ER.*(To.^-1));
f2=Th.*(Te-To)+S.*Co.*ko.*exp(-ER.*(To.^-1))-B.*(To-Tj);
df1c=-Th-ko.*exp(-ER.*(To.^-1));
df1T=-Co.*ko.*exp(-ER.*(To.^-1)).*(ER.*(1./To.^2));
df2c=S.*ko.*exp(-ER.*(To.^-1));
df2T=-Th-(S.*Co.*ko.*(ER.*(1./To.^2)).*exp(-ER.*(To.^-1)))-B;
Jo=[df1c,df1T;df2c,df2T];
fo=[Th.*(Ce-Co)-Co.*ko.*exp(-ER.*(To.^-1)); Th.*(Te-To)+S.*Co.*ko.*exp(-
ER.*(To.^-1))-B.*(To-Tj)];
cn=co-Jo^-1*fo
Error=sum(abs((cn-co)./cn))
figure(1)
semilogy(i, Error,'or'), grid on, hold on
xlabel('iteraciones'), ylabel('% Error'), title('Metodo de Newton Raphson
multivariable')
if Error<tol
disp('sol encontrada')
csol=cn
Errorf=Error
iterf=i
break
end
Co=cn(1),To=cn(2)
end
.
Inciso (a)
clear all
close all
clc
a=0;
b=10;
N=100;
Dx=0.1;
a=0;
b=Dx*(N-1)+a
x=a:Dx:b
gro=2;
f=(x.^3)+(4*x)-15
figure(1)
plot(x,f,'b','lineWidth',gro), grid on, hold on
%analitica
df=(3*x.^2)+4
figure(2)
plot(x,df,'g','lineWidth',gro), grid on, hold on
a=0;
b=10;
N=100;
Dx=0.1;
a=0;
b=Dx*(N-1)+a
x=a:Dx:b
gro=2;
f=x.^2.*cos(x)
figure(1)
plot(x,f,'b','lineWidth',gro), grid on, hold on
%analitica
df=2.*x.*cos(x)-x.^2.*sin(x)
figure(2)
plot(x,df,'g','lineWidth',gro), grid on, hold on
a=0;
b=10;
N=100;
Dx=0.1;
a=0;
b=Dx*(N-1)+a
x=a:Dx:b
gro=2;
f=tan(x/3)
figure(1)
plot(x,f,'b','lineWidth',gro), grid on, hold on
%analitica
df=1./(3.*((cos(x/3)).^2))
figure(2)
plot(x,df,'g','lineWidth',gro), grid on, hold on
a=0;
b=10;
N=100;
Dx=0.1;
a=0;
b=Dx*(N-1)+a
x=a:Dx:b
gro=2;
f=sin(0.5.*sqrt(x))./x
figure(1)
plot(x,f,'b','lineWidth',gro), grid on, hold on
%analitica
df=((cos(0.5.*sqrt(x))./sqrt(x)-(sin(0.5.*sqrt(x))./(2.*x.^1.5))))
figure(2)
plot(x,df,'g','lineWidth',gro), grid on, hold on
Su grafico es el siguiente:
Para la ecuacion del inciso e este es su codigo de Matlab
clear all
close all
clc
a=0;
b=10;
N=100;
Dx=0.1;
a=0;
b=Dx*(N-1)+a
x=a:Dx:b
gro=2;
f=exp(x)+x
figure(1)
plot(x,f,'b','lineWidth',gro), grid on, hold on
%analitica
df=exp(x)+1
figure(2)
plot(x,df,'g','lineWidth',gro), grid on, hold on
Su grafico es el siguiente
Codigo de matlab aplicando diferencias finitas para estimar la velocidad.
clear all
close all
clc
dx=25;
x=0:dx:125;
N=length(x);
gro=2;
figure(1)
plot(x,y,'*-r'), grid on, hold on
xlabel('Eje x'), ylabel('Eje y'), title('DIFERENCIAS FINITAS')
clear all
close all
clc
dx=25;
x=0:dx:125;
N=length(x);
gro=2;
figure(1)
plot(x,y,'*-r'), grid on, hold on
xlabel('Eje x'), ylabel('Eje y'), title('DIFERENCIAS FINITAS')
De igual manera aquí tenemos el grafico de los valores que nos da el problema
Aquí tenemos plasmado la estimacion de la aceleracion aplicando diferencia finita
de segundo orden.