你的程序有问题,第一行e2的初始值应该为1,不是0,你把taylor展开看看就知道了。程序:e2=1; i=0; y=1; while (exp(2)-e2>=10^(-6)) i=i+1; y=y*i; e2=e2+2^i/y; end e2
因为算到后面你的y太大了,被当做无穷大inf了。