数值分析实验(2014,9,16~10,28)
信计1201班,人数34人
数学系机房
数值分析 计算实习报告册
专业 学号 姓名
2014~2015年第一学期
实验一 数值计算的工具 Matlab
1.解释下MATLAB程序的输出结果 程序: t=0.1 n=1:10 e=n/10-n*t
e的结果:0 0 -5.5511e-017 0 0 -1.1102e-016 -1.1102e-016 0 0 0 2.下面MATLAB程序的的功能是什么? 程序:
x=1;while 1+x>1,x=x/2,pause(0.02),end 用迭代法求出x=x/2,的最小值
x=1;while x+x>x,x=2*x,pause(0.02),end 用迭代法求出x=2*x,的值,使得2x>X x=1;while x+x>x,x=x/2,pause(0.02),end 用迭代法求出x=x/2,的最小值,使得2x>X
3.考虑下面二次代数方程的求解问题
ax2?bx?c?0
2c?b?b2?4ac公式x?是熟知的,与之等价地有x?,对于
22a?b?b?4aca?1,b?100000000,c?1,应当如何选择算法。
?b?b2?4ac应该用x?计算,因为b与2ab2?4ac相近,两个相加减不宜做分母
x3x5x74.函数sin(x)有幂级数展开sinx?x????...
3!5!7!利用幂级数计算sinx的MATLAB程序为
1
function s=powersin(x) 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 t1=cputime; pause(10); t2=cputime; t0=t2-t1
(a)解释上述程序的终止准则。 当s+t=s,终止循环。
?/2,21?/2计算的进度是多少?分别计算多少项? (b)对于x??/2,11 X=pi/2时,s =1.0000 x=11pi/2时,s=-1.0000 x=21pi/2时,s =0.9999 Cputime分别是0.1563 0.0469 0.0156
15.考虑调和级数?,它是微积分中的发散级数,在计算机上计算该级数的部
n?1n?分和,会得到怎么样的结果,为什么?
function s=fun(n) s=0; t=1/n;
for i=1:n s=s+1/i; end
当n=100时s =5.1874 当n=80时s =4.9655 当n=50时,s =4.4992 当n=10时,s =2.9290
x2x36.指数函数的级数展开e?1?x???...,如果对于x?0,用上述的级数近
2!3!x 2
似计算指数函数的值,这样的算法结果是否会好,为什么?
function s=powerexp(x) s=1; n=1; t=1;
while s+t~=s;
t=(x^n)/factorial(n); s=s+t; n=n+1; end
当x=-1时,s =0.3679 当x=-2时,s =0.1353 当x=-3时,s =0.0498
7.考虑数列xi,i?1,2,...n,它的统计平均定义为
1n x??xi,
ni?11212n?12??1n2?(?xi?nx)?作为标准差(xi?x)?数学上等价于???标准差????n?1n?1i?1i?1??????2的两种算法,你将如何评价他们的得与失。
clc,clear x=randn(1,10000); n=length(x); a=sum(x)/n;
y1=sqrt(sum((x-a).^2)/(n-1)); y2=sqrt((sum(x.^2)-n*a^2)/(n-1)); y1,y2 后面的公式更好
改变m的值求出不同个数x标准差 ,没有好大差别
实验二 插值法计算实习题
1.已知函数在下列个点的值为
xi 0.2 0.4 0.6 0.8 1.0 3
f(xi) 0.98 0.92 0.81 0.64 0.38 试用4次插值多项式p4(x)及三次样条插值S(x)(自然边界条件)对数据进行插值。用图给出{(xi,yi),xi?0.2?0.08i,i?0,1,11,10},p4(x)及S(x)。 function f=lagfun(x) a=[0.2,0.4,0.6,0.8,1.0];
b=[0.98,0.92,0.81,0.64,0.38]; for i=1:5 L(i)=1; for j=1:5 if j~=i
L(i)=L(i)*(x-a(j))/(a(i)-a(j)); end end end f=0;
for i=1:5
f=f+L(i)*b(i); end
执行文件
x0=[0.2,0.4,0.6,0.8,1.0];
y0=[0.98,0.92,0.81,0.64,0.38]; plot(x0,y0,'o') hold on grid on
fplot('lagfun',[0,1]);hold on x=0:0.1:1;
plot(x,newton(x0,y0,x),'r');
4
百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库数值分析实验2024在线全文阅读。
相关推荐: