MATLAB与数值分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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±

相关文档
最新文档