MATLAB与数值分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
matlab
1. 判断如下命题是否正确
(a) 一个问题的病态性如何,与求解它的算法有关系。 × (b) 无论问题是否病态,好的算法都会得到它好的近似解。 × (c) 计算中使用更高的精度,可以改善问题的病态性。 × (d) 用一个稳定的算法计算一个良态的问题,一定会得到它好的近似解。 √ (e) 浮点数在整个数轴上是均匀分布的 × (f) 浮点数的加法满足结合律 × (g) 浮点数的加法满足交换律 × (h) 浮点数构成有限集合 × (i) 用一个收敛的算法计算一个良态的问题,一定会得到它好的近似解 √ 2. 函数sinx 有幂级数展开
利用幂级数计算sinx 的Matlab 程序为
function s = powersin(x)
% POWERSIN. Power series for sin(x).
% POWERSIN(x) tries to compute sin(x) from a power series
s = 0;
t = x;
n = 1;
while s + t ~= s;
s = s + t;
t = -x^2/((n+1)*(n+2))*t;
n = n + 2;
end
(a) 解释上述程序的终止准则;
(b) 对于 ,计算的精度是多少?分别需要计算多少项?
(a) 终止条件为t=0,但是t=-x^2/((n+1)*(n+2))*t 始终不为0,但是在计算中,当t 小于计算精
度时,计算机识别为0,此时计算终止
(b) X=pi/2 n =23, t= -1.2539e-018, s=1.0000
X=11*pi/2 n =75, t= -2.6232e-017, s= -1.0000
X=21*pi/2 n =121, t=6.4693e-018, s=0.9999
3. 考虑数列 ,它的统计平均值定义为 它的标准差 数学上等价于 作为标准差的两种算法,你如何评价它们的得与失?
注意到一式中存在(xi-x)^2,而两个数相减,如果比较接近,计算完差值再平方,就有可能产生误差,而二式中为两个数的平方数相减,能够减少误差。
4. 求
0.1%。
357
sin 3!5!7!x x x x x =-+-+/2,11/2,21/2x πππ=,1,,i x i n =11n
i i x x n ==∑()122111n i i x x n σ=⎡⎤=-⎢⎥-⎣⎦∑1222111n i i x nx n σ=⎡⎤⎛⎫=-⎢⎥ ⎪-⎝⎭⎣⎦∑*(1)1
1102n r e a --≤
⨯
要求的sqrt(10)的近似值首位数字a1=3,于是由公式
即10^-(n-1)/(2*3)≤0.1%
n 取整,解得n 最小值为4,于是取四位有效数字,使得相对误差不超过0.1% 即该数的近似值为 3.162
5. 设 ,假定g 是准确的,而对t= 的测量有秒的误差,证明:当t 增大时,S 的绝对误差增大而相对误差却减小。
因为ds=d(1/2*g*t^2)=g*t*dt
因此t 增大时候,s 的绝对误差增大
因为ds/s=g*t*dt/s=g*t*dt/(1/2*g*t^2)=2*dt/t
因此,当dt 固定,t 增加时候,ds/s 减小,即相对误差减小
6. 编程作业: 用MATLAB 编程实现例7的两种方法,写出相应的代码。
第一种方法:
I(1)=1-1/exp(1);
x=1;
N=input('please input N:');
while x I(x+1)=1-x*I(x); x=x+1; end I 第二种方法: x=9; I(9)=(1+1/exp(1))/20; while x>1; I(x-1)=(1-I(x))/x; x=x-1; end I 212S gt =0.1±