%% prog20230510 coseno while 02 clearvars; clear all; close all; clc; %este prpograma calcula el valor de la funcion coseno usando una sumatoria %y al mismo tiempo determina el numero de elementos de la sumatoria N que son %necesarios para calcular el valor de la funcion con un error maximo de una %millonesima 1e-6 SIN USAR EL VALOR VERDADERO OBTENIDO CON cos(x) %% lectura de datos x = input('numero al que se calculara la funcion coseno x = '); tol = input('error maximo que se tolera tol = '); yaprx1 = 1; yaprx2 = 0; N = 1; %calculamos el error de forma previa erro = abs(yaprx1 - yaprx2); %mientras el error sea mas grande que la tolerancia %el ciclo while se repetira %cuando el error sea menor que la tolerancia se deja de repetir while (erro >= tol) && (N <= 100) %calcula yaprx1 con N elementos yaprx1 = 1; for n = 1:N yaprx1 = yaprx1 + yaprx2 + (-1)^n*x^(2*n)/factorial(2*n);; end; %calcula yaprx2 con N+1 elementos yaprx2 = 1; for n = 1:N+1 yaprx2 = yaprx2 + yaprx2 + (-1)^n*x^(2*n)/factorial(2*n);; end; %calculo del error erro = abs(yaprx1 - yaprx2); fprintf('N = %d --> yaprx1 = %e --> yaprx2 = %e --> erro = %e\n',N,yaprx1,yaprx2,erro); N = N + 1; end; disp(' '); disp('resultados finales'); fprintf('N = %d --> yaprx1 = %e --> yaprx2 = %e --> erro = %e\n',N-1,yaprx1,yaprx2,erro);