%% prog028 exponencial while segunda versión clearvars; close all; clc; %en este caso usaremos un ciclo for para tener la sumatoria %% datos inciales x = input('x = '); %valor de x yaprox1 = 0; yaprox2 = 1; errr = abs(yaprox2 - yaprox1); %% calculo principal con ciclo for para la sumatoria N = 1 while errr > 1e-6%---------------------------->inicio while exterior yaprox1 = 1; for n = 1:N%---------------------------->inicio for interior yaprox1 = yaprox1 + x^n/factorial(n); end;%---------------------------------->fin for interior yaprox2 = 1; for n = 1:(N+1)%---------------------------->inicio for interior yaprox2 = yaprox2 + x^n/factorial(n); end;%---------------------------------->fin for interior errr = abs(yaprox2 - yaprox1); %calculamos el error fprintf('yaprox1 = %e\n',yaprox1); fprintf('yaprox2 = %e\n',yaprox2); fprintf('error = %e\n',errr); fprintf('N = %d\n',N); N = N + 1; %aumentamos el numero de elementos de la sumatoria end;%--------------------------------------->fin while exterior %% error errr = abs(yaprox2 - yaprox1); %% resultados fprintf('x = %e\n',x); fprintf('yaprox1 = %e\n',yaprox1); fprintf('yaprox2 = %e\n',yaprox2); fprintf('error = %e\n',errr); fprintf('N = %d\n',N);