x=1;
while((1+x)>1)
x=x/2;
end;
x=2*x;
disp('el valor mas pequeño es');
disp(x);
disp('este programa en particular arroja el minimo de tolerancia o aproximacion que acepta el matlab, es decir que valores inferiores a la x/2 calculada el matlab los toma como 0');
PROGRAMACION
miércoles, 25 de mayo de 2011
segunda parte. Metodo de Newton
disp('Metodo de Newton');
disp('Recomendacion: Introducir un valor pequeño inicial, entre 0 y 1');
t=input('El valor de la tolerancia es:');
t=(1/10)^t;
xo=input('El valor de inicio es:');
fxo=(log10(xo))+xo;
fxd=(1/(log(10)))*(1/xo);
x1=xo-(fxo/fxd);
if(x1<0)
fprintf('ERROR,Correr de nuevo el programa e introducir un valor de inicio menor que xo= %.5f',xo );
else
while((abs(x1-xo))>=(t));
xo=x1;
fxo=(log10(xo))+xo;
fxd=(1/(log(10)))*(1/xo);
x1=xo-(fxo/fxd);
end;
x=x1;
fprintf('El valor de la raiz de f(x)=log(x)+x es x= %.5f',x);
end;
disp('Recomendacion: Introducir un valor pequeño inicial, entre 0 y 1');
t=input('El valor de la tolerancia es:');
t=(1/10)^t;
xo=input('El valor de inicio es:');
fxo=(log10(xo))+xo;
fxd=(1/(log(10)))*(1/xo);
x1=xo-(fxo/fxd);
if(x1<0)
fprintf('ERROR,Correr de nuevo el programa e introducir un valor de inicio menor que xo= %.5f',xo );
else
while((abs(x1-xo))>=(t));
xo=x1;
fxo=(log10(xo))+xo;
fxd=(1/(log(10)))*(1/xo);
x1=xo-(fxo/fxd);
end;
x=x1;
fprintf('El valor de la raiz de f(x)=log(x)+x es x= %.5f',x);
end;
segunda parte.Metodo de biseccion
disp('Metodo de biseccion');
disp('Recomendacion: Usar valores reales positivos para las variables en el intervalo(a,b)');
t=input('El valor de tolerancia es:');
t=(1/10)^t;
a=input('El valor de a es:');
b=input('El valor de b es:');
fa=(log10(a))+a;
fb=(log10(b))+b;
if(fa*fb>=0);
fprintf('Error; correr de nuevo el programa e introducir otro intervalo (a,b)');
else
k=abs(fa-fb);
while(t<k);
fa=(log10(a))+a;
fb=(log10(b))+b;
m=(a+b)/2;
fm=(log10(m))+m;
if(fm*fa>0);
a=m;
fa=(log10(a))+a;
k=abs(fa-fb);
elseif(fm*fb>0);
b=m;
fb=(log10(b))+b;
k=abs(fa-fb);
end
end
x=(a+b)/2;
fprintf('El valor de la raiz de F(x)=log(x)+x es x= %.5f',x);
end
disp('Recomendacion: Usar valores reales positivos para las variables en el intervalo(a,b)');
t=input('El valor de tolerancia es:');
t=(1/10)^t;
a=input('El valor de a es:');
b=input('El valor de b es:');
fa=(log10(a))+a;
fb=(log10(b))+b;
if(fa*fb>=0);
fprintf('Error; correr de nuevo el programa e introducir otro intervalo (a,b)');
else
k=abs(fa-fb);
while(t<k);
fa=(log10(a))+a;
fb=(log10(b))+b;
m=(a+b)/2;
fm=(log10(m))+m;
if(fm*fa>0);
a=m;
fa=(log10(a))+a;
k=abs(fa-fb);
elseif(fm*fb>0);
b=m;
fb=(log10(b))+b;
k=abs(fa-fb);
end
end
x=(a+b)/2;
fprintf('El valor de la raiz de F(x)=log(x)+x es x= %.5f',x);
end
Segunda Parte.El numero n mas pequeño
disp('el numero entero n mas pequeño');
M=input('el valor de M es:');
n=0;
k=0;
while((k<M)&&(n<=1000))
n=n+1;
k=1/n+k;
end
fprintf('el valor de n es %.4f',n);
M=input('el valor de M es:');
n=0;
k=0;
while((k<M)&&(n<=1000))
n=n+1;
k=1/n+k;
end
fprintf('el valor de n es %.4f',n);
jueves, 19 de mayo de 2011
Ejercicio 4. Tabla de comparacion de Pi
n | Vieté | Borwein | Método alternativo |
4 | 3.13654849 | 3.38871193 | 3.14260475 |
8 | 3.14157294 | 3.38871193 | 3.14159977 |
16 | 3.14159265 | 3.38871193 | 3.14159265 |
Ejercicio 4. Metodo alternativo
disp('metodo alternativo');
n=input('valor de n:');
if (n>0)
p=0;
for i=0:n
p=p+exp(i*log(-1))/((i+i+1)*exp(i*log(3)));
end;
p=2*(sqrt(3))*p;
fprintf('valor aproximado de pi es %0.8f',p);
else
disp('n tiene que ser mayor que 0');
end;
n=input('valor de n:');
if (n>0)
p=0;
for i=0:n
p=p+exp(i*log(-1))/((i+i+1)*exp(i*log(3)));
end;
p=2*(sqrt(3))*p;
fprintf('valor aproximado de pi es %0.8f',p);
else
disp('n tiene que ser mayor que 0');
end;
miércoles, 18 de mayo de 2011
Formula de Viete(1593)
disp('Cálculo de Pi por la Fórmula de Viete');
n=input('valor de n:');
d=0;
h=1;
m=1;
for i=1:n
d=sqrt(2+d);
m=m*d;
h=h*2;
p=(2*h)/m;
end;
fprintf('el valor aproximado de pi es %.8f',p);
n=input('valor de n:');
d=0;
h=1;
m=1;
for i=1:n
d=sqrt(2+d);
m=m*d;
h=h*2;
p=(2*h)/m;
end;
fprintf('el valor aproximado de pi es %.8f',p);
Suscribirse a:
Entradas (Atom)