东南大学数值分析上机题答案(22 页)Good is good, but better carries it
精益求精,善益求善
数值分析上机题第一章17
(上机题)舍入误差与有效数设,其精确值为
(1)编制按从大到小的顺序,计算的通用程序;(2)编制按从小到大的顺序,计算的通用程序;(3)按两种顺序分别计算,,,并指出有效位数(编制程序时用单精度);(4)通过本上机题,你明白了什么
解:程序:(1)从大到小的顺序计算:function sn1=fromlarge(n) %从大到小计算sn1format long;sn1=single(0);for m=2:1:n sn1=sn1+1/(m^2-1);endend(2)从小到大计算function sn2=fromsmall(n) %从小到大计算sn2format long;sn2=single(0);for m=n:-1:2 sn2=sn2+1/(m^2-1);endend(3)总的编程程序为:function p203()clear allformat long;n=input('please enter a number as the n:')sn=1/2*(3/2-1/n-1/(n+1));%精确值为snfprintf('精确值为%f\n',sn);sn1=fromlarge(n);fprintf('从大到小计算的值为%f\n',sn1);sn2=fromsmall(n);fprintf('从小到大计算的值为%f\n',sn2);function sn1=fromlarge(n) %从大到小计算sn1format long;sn1=single(0);for m=2:1:n sn1=sn1+1/(m^2-1);endendfunction