7
PROBLEMAS RESUELTOS 4.2 La expansión en serie de Maclaurin para cosx es: cos ( x) =1x 2 2 + x 4 4 ! x 6 6 ! + x 8 8 ! Iniciando con el primer término cosx=1, agréguese los términos uno a uno para estimar cos(/4). Después de que agregue cada uno de los términos, calcule los errores porcentuales relativos exactos y aproximados. Use una calculadora para determinar el valor exacto. Agréguese términos hasta que el valor absoluto del error aproximado falle bajo cierto criterio de error considerando dos cifras significativas. Solución: Programa (Script) Ejecución en matlab: function CosMaclaurin() disp('Programa que utiliza la serie de Macclaurin para el coseno de x') x=input('Ingrese el angulo en radianes: '); n=input('Ingrese el número de cifras significativas: '); es=(0.5*10^(2-n)); %tolerancia porcentual disp('Valores para el coseno') vr1=cos(x); fprintf('es = %f%%\n',es) fprintf('Valor real para el coseno = %f\n',vr1) resultado=1; % Primer término de la serie ev=abs((resultado-vr1)/vr1)*100; % Error relativo porcentual verdadero fprintf('%s\t\t\t\t%s\t\t\t\t%s\t\t\t\t%s\n','Término','Resultado','Error rel. verd.','Error rel. aprox.'); fprintf('%5d\t\t\t\t%f\t\t\t\t\t%f%%\n',1,resultado,ev); for i=1:1000 %1000 es el numero maximo de terminos resultadoanterior=resultado; resultado=resultado + (-1.^(i)).*x^(2.*i)/factorial(2.*i); ev=abs((vr1-resultado)/vr1)*100; %Error relativo porcentual verdadero ea=abs((resultado-resultadoanterior)/resultado)*100; %Error relativo porcentual aproximado fprintf('%5d\t\t\t\t%f\t\t\t\t\t%f%%\t\t\t\t\t%f%%\n',i+1,resultado,ev,ea); if (ea<es) >> CosMaclaurin Programa que utiliza la serie de Macclaurin para el coseno de x Ingrese el angulo en radianes: pi/4 Ingrese el número de cifras significativas: 2 Valores para el coseno es = 0.500000% Valor real para el coseno = 0.707107 Término Resultado Error rel. verd. Error rel. aprox. 1 1.000000 41.421356% 2 0.691575 2.196545% 44.597506% 3 0.675721 4.438688% 2.346287%

Problemas Resueltos

Embed Size (px)

DESCRIPTION

Problemas de iteraciones y ciclos repetitivos

Citation preview

PROBLEMAS RESUELTOS4.2 La expansin en serie de Maclaurin para cosx es:

Iniciando con el primer trmino cosx=1, agrguese los trminos uno a uno para estimar cos(/4). Despus de que agregue cada uno de los trminos, calcule los errores porcentuales relativos exactos y aproximados. Use una calculadora para determinar el valor exacto. Agrguese trminos hasta que el valor absoluto del error aproximado falle bajo cierto criterio de error considerando dos cifras significativas.Solucin:Programa (Script)function CosMaclaurin()disp('Programa que utiliza la serie de Macclaurin para el coseno de x')x=input('Ingrese el angulo en radianes: ');n=input('Ingrese el nmero de cifras significativas: ');es=(0.5*10^(2-n)); %tolerancia porcentualdisp('Valores para el coseno')vr1=cos(x);fprintf('es = %f%%\n',es)fprintf('Valor real para el coseno = %f\n',vr1)resultado=1; % Primer trmino de la serieev=abs((resultado-vr1)/vr1)*100; % Error relativo porcentual verdaderofprintf('%s\t\t\t\t%s\t\t\t\t%s\t\t\t\t%s\n','Trmino','Resultado','Error rel. verd.','Error rel. aprox.');fprintf('%5d\t\t\t\t%f\t\t\t\t\t%f%%\n',1,resultado,ev);for i=1:1000 %1000 es el numero maximo de terminos resultadoanterior=resultado; resultado=resultado + (-1.^(i)).*x^(2.*i)/factorial(2.*i); ev=abs((vr1-resultado)/vr1)*100; %Error relativo porcentual verdadero ea=abs((resultado-resultadoanterior)/resultado)*100; %Error relativo porcentual aproximado fprintf('%5d\t\t\t\t%f\t\t\t\t\t%f%%\t\t\t\t\t%f%%\n',i+1,resultado,ev,ea); if (ea> CosMaclaurinPrograma que utiliza la serie de Macclaurin para el coseno de xIngrese el angulo en radianes: pi/4Ingrese el nmero de cifras significativas: 2Valores para el cosenoes = 0.500000%Valor real para el coseno = 0.707107TrminoResultadoError rel. verd.Error rel. aprox. 11.00000041.421356% 20.6915752.196545%44.597506% 30.6757214.438688%2.346287% 40.6753954.484790%0.048267%

4.3 La expansin en serie de Maclaurin para senx es:

Iniciando con el primer trmino senx=x, agrguese los trminos uno a uno para estimar sen(/4). Realizar los clculos igual que en el ejercicio anterior.Solucin:Programa (Script)function SenMaclaurin()disp('Programa que utiliza la serie de Macclaurin para el seno de x')x=input('Ingrese el angulo en radianes: ');n=input('Ingrese el nmero de cifras significativas: ');es=(0.5*10^(2-n)); %tolerancia porcentualdisp('Valores para el seno')vr1=sin(x);fprintf('es = %f%%\n',es)fprintf('Valor real para el seno = %f\n',vr1)resultado=x; % Primer trmino de la serieev=abs((resultado-vr1)/vr1)*100; % Error relativo porcentual verdaderofprintf('%s\t\t\t\t%s\t\t\t\t%s\t\t\t\t%s\n','Trmino','Resultado','Error rel. verd.','Error rel. aprox.');fprintf('%5d\t\t\t\t%f\t\t\t\t\t%f%%\n',1,resultado,ev);for i=1:1000 %1000 es el numero maximo de terminos resultadoanterior=resultado; resultado=resultado + (-1.^i).*x^(2.*i+1)/factorial(2.*i+1); ev=abs((vr1-resultado)/vr1)*100; %Error relativo porcentual verdadero ea=abs((resultado-resultadoanterior)/resultado)*100; %Error relativo porcentual aproximado fprintf('%5d\t\t\t\t%f\t\t\t\t\t%f%%\t\t\t\t\t%f%%\n',i+1,resultado,ev,ea); if (ea> SenMaclaurinPrograma que utiliza la serie de Macclaurin para el seno de xIngrese el angulo en radianes: pi/4Ingrese el nmero de cifras significativas: 2Valores para el senoes = 0.500000%Valor real para el seno = 0.707107TrminoResultadoError rel. verd.Error rel. aprox. 10.78539811.072073% 20.7046530.347066%11.458910% 30.7021620.699261%0.354675%

4.4. sese los trminos en serie de Taylor de cero a tercer orden para predecir para:

Usando como base x=1. Calclese el error relativo porcentual verdadero para cada aproximacin.Solucin:Programa (Script)function taylor_aprox()syms x;f=input('Escriba una funcin de x: ','s');F=inline(f);xi=input('Ingrese xi: ');h=input('Ingrese el paso h: ');orden=input('Ingrese el orden n: ');Fverd=F(xi+h);fprintf('El valor verdadero es f(%f) : %f\n\n',(xi+h),Fverd);fximas1=subs(f,xi); %Orden cerodisp('')fprintf('%s\t\t\t\t%s\t\t\t\t%s\n','Orden','Resultado','Error rel. verd.');for n=1:orden f=diff(f,x); fximas1=fximas1+subs(f,xi)*h^n/factorial(n); Fu=inline(fximas1); A=Fu(xi+h); ev=abs((Fverd-A)/Fverd)*100; % Error relativo porcentual verdadero fprintf('%5d\t\t\t\t%f\t\t\t\t\t%f%%\n',n,A,ev)end

Ejecucin en matlab:>> taylor_aproxEscriba una funcin de x: 25*x^3-6*x^2+7*x-88Ingrese xi: 1Ingrese el paso h: 1Ingrese el orden n: 3El valor verdadero es f(2.000000) : 102.000000

OrdenResultadoError rel. verd. 18.00000092.156863% 277.00000024.509804% 3102.0000000.000000%

4.5. Use los trminos de la serie de Taylor del cero al cuarto orden para estimar f(3) para f(x)=ln(x) usando como punto base x=1. Calculese el error relativo porcentual para cada aproximacin.Solucin:Programa (Script)function taylor_aprox()syms x;f=input('Escriba una funcin de x: ','s');F=inline(f);xi=input('Ingrese xi: ');h=input('Ingrese el paso h: ');orden=input('Ingrese el orden n: ');Fverd=F(xi+h);fprintf('El valor verdadero es f(%f) : %f\n\n',(xi+h),Fverd);fximas1=subs(f,xi); %Orden cerodisp('')fprintf('%s\t\t\t\t%s\t\t\t\t%s\n','Orden','Resultado','Error rel. verd.');for n=1:orden f=diff(f,x); fximas1=fximas1+subs(f,xi)*h^n/factorial(n); Fu=inline(fximas1); A=Fu(xi+h); ev=abs((Fverd-A)/Fverd)*100; % Error relativo porcentual verdadero fprintf('%5d\t\t\t\t%f\t\t\t\t\t%f%%\n',n,A,ev)end

Ejecucin en matlab:>> taylor_aproxEscriba una funcin de x: log(x)Ingrese xi: 1Ingrese el paso h: 2Ingrese el orden n: 4El valor verdadero es f(3.000000) : 1.098612

OrdenResultadoError rel. verd. 12.00000082.047845% 20.000000100.000000% 32.666667142.730460% 4-1.333333221.365230%