(精选)数值计算方法上机实习题

(精选)数值计算方法上机实习题
(精选)数值计算方法上机实习题

数值计算方法上机实习题

1. 设?+=1

05dx x

x I n

n , (1) 由递推公式n

I

I

n n 1

51+

-=-,从, 0=0.1823I 出发,计算20I ;

(2) 20=0I ,20=10000I , 用n

I I n n 51

5111+-

=--,计算0I ; (1)由I 0计算I 20

递推子程序:

function f=fib(n,i) if n>=1

f=fib(n-1,i)*(-5)+(1/(n)); elseif n==0 f=i; end

计算和显示程序:

I=0.1824; I1=0.1823; fib1=fib(20,I); fib2=fib(20,I1);

fprintf('I_0=0.1824时,I_20=%d\n',fib1); fprintf('I_0=0.1823时,I_20=%d\n',fib2);

计算结果显示:

I_0=0.1824时,I_20=7.480927e+09 I_0=0.1823时,I_20=-2.055816e+09

(2)由I 20计算I 0

程序:

n=21; i1=0; i2=10000; f1=i1; f2=i2; while n~=0;

f1=f1*(-1/5)+(1/(5*n)); f2=f2*(-1/5)+(1/(5*n)); n=n-1; end

fprintf('I_20=0 时,I_0=%4.8f\n',f1); fprintf('I_20=10000时,I_0=%4.8f\n',f2);

计算结果显示:

I_20=0 时,I_0=0.18232156 I_20=10000时,I_0=0.18232156

(3) 分析结果的可靠性及产生此现象的原因(重点分析原因)。 答:第一个算法可得出

易知第一个算法每一步计算都把误差放大了5倍,n 次计算后更是放大了5n

倍,可靠性低。 第二个算法可得出

可以看出第二个算法每一步计算就把误差缩小5倍,n 次后缩小了5n

倍,可靠性高。

2. 求方程0210=-+x e x

的近似根,要求41105-+?<-k k x x ,并比较计算量。 (1) 在[0,1]上用二分法; (1) [0,1]上的二分法

二分法子程序:

function [root,n]=EFF3(f,x1,x2) %第二题(1)二分法

f1=subs(f,symvar(f),x1);%函数在x=x1的值 f2=subs(f,symvar(f),x2);%x=x2 n=0;%步数 er=5*10^-4;%误差 if(f1==0) root=x1; return; elseif(f2==0) root=x2; return; elseif(f1*f2>0)

disp('两端点函数值乘积大于0!'); return; else

while(abs(x1-x2)>er)%循环 x3=(x1+x2)/2;

f3=subs(f,symvar(f),x3); n=n+1; if(f3==0) root=x3; break; elseif(f1*f3>0) x1=x3; else x2=x3; end end

root=(x1+x2)/2;%while 循环少一步需加上 end

计算根与步数程序:

fplot(@(x) exp(x)+10*x-2,[0,1]); grid on; syms x;

f=exp(x)+10*x-2; [root,n]=EFF3(f,0,1);

fprintf('root=%6.8f ,n=%d \n',root,n);

计算结果显示:

root=0.09057617 ,n=11

(2) 取初值00=x ,并用迭代10

21

x k e x -=+;

(4) 取初值00 x ,并用牛顿迭代法;

(5) 分析绝对误差。

答:可以看到,在同一精度下,二分法运算了11次,题设迭代算式下运算了4次,加速迭代下运算了2次,牛顿迭代下运算了2次。因不动点迭代法和二分法都是线性收敛的,但二分法压缩系数比题设迭代方法大,收敛速度较慢。加速迭代速度是超线性收敛,牛顿法是二阶,收敛速度快。

3.钢水包使用次数多以后,钢包的容积增大,数据如下:

试从中找出使用次数和容积之间的关系,计算均方差。(用ax b

y c x

+=

+拟合)

xlabel('次数

','FontSize',14,'FontWeight','Bold'); ylabel('容积

','FontSize',14,'FontWeight','Bold'); set(gxt,'LineWidth',1.5);

grid on;

%计算均方差

for i=1:15

y2(i)=(f(1).*x(i)+f(2))./(f(3)+x(i)); (接下页)

end

j=0;

for i=1:15

j=j+(y(i)-y2(i))^2;

end

jfc=sqrt(j/15);

fprintf('拟合出的方程

为:(x+%4.4f)y=%4.4fx+%4.4f \n均方差为:%4.8f \n',f(3),f(1),f(2),jfc);指标选择,因题设方程为非线性的,要转化为线性方程故需提指标为:

其驻点方程为:

计算结果显示:

4.设??????????

??----------------=410100141010014101101410010141001014A ,??????

???

?

??--=625250b ,b x =A

分析下列迭代法的收敛性,并求42

110-+≤-k k x x 的近似解及相应的迭代次数。

(1) Jacobi 迭代

Jacobi 迭代子程序:

function [x,k]=Jacobifl2(A,b,x0,eps,max1) %jacobi 按矩阵的分量算法

%x0初值,eps 误差,max1最大迭代次数 n=length(x0);

Jacobi 迭代计算程序:

A=[4 -1 0 -1 0 0;-1 4 -1 0 -1 0;0 -1 4 -1 0 -1; -1 0 -1 4 -1 0; 0 -1 0 -1 4 -1;0 0 -1 0 -1 4;];

b=[0 5 -2 5 -2 6]'; x0=[0 0 0 0 0 0]';

(3)SOR迭代(取

,找到迭代步数最少的)。

5.用逆幂迭代法求????

? ??=111123136A 最接近于11的特征值和特征向量,准确到3

10-。

6.用经典R-K 方法求解初值问题

(1)???-+-='++-='x x y y y x y y y sin 2cos 22sin 22212211,]10,0[∈x , ???==3)0(2

)0(2

1y y ;

(2)???-+-='++-='x x y y y x y y y sin 999cos 999999998sin 22212

211,]10,0[∈x , ???==3)0(2

)0(21y y

和精确解???+=+=--x e x y x

e x y x

x cos 2)(sin 2)(2

1比较,进行误差分析得到结论,图形显示精确解和数值解。

计算结果显示:

(1)Ode 23的题1

(2)Ode 3的题2

(3)Ode 45的题1

7.用有限差分法求解边值问题(h=0.1),并图形显示。

??

?==-=+-''1

)1()1(0

)1(2y y y x y .

b=b';% n-1

u(1)=b(1)/B(1);

v(1)=C(1)/B(1);

for k=2:n-2;

u(k)=(b(k)-u(k-1)*C(k-1))/(B(k)-v(k-1)*C(k-1)); v(k)=C(k)/(B(k)-v(k-1)*C(k-1));

end

u(n-1)=(b(n-1)-u(n-2)*C(n-2))/(B(n-1)-v(n-2)*C(n-2)) ;

V(n-1)=u(n-1);

for k=n-2:-1:1

V(k)=u(k)-v(k)*V(k+1);

end

y=[1,V,1];总结:

对比两个步长下,求边值问题,步长小,越精确。

(注:专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分来自网络,供参考。可复制、编制,期待你的好评与关注)

数值分析上机作业

数值分析上机实验报告 选题:曲线拟合的最小二乘法 指导老师: 专业: 学号: 姓名:

课题八曲线拟合的最小二乘法 一、问题提出 从随机的数据中找出其规律性,给出其近似表达式的问题,在生产实践和科学实验中大量存在,通常利用数据的最小二乘法求得拟合曲线。 在某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量y 与时间t 的拟合曲线。 二、要求 1、用最小二乘法进行曲线拟合; 2、近似解析表达式为()33221t a t a t a t ++=?; 3、打印出拟合函数()t ?,并打印出()j t ?与()j t y 的误差,12,,2,1 =j ; 4、另外选取一个近似表达式,尝试拟合效果的比较; 5、*绘制出曲线拟合图*。 三、目的和意义 1、掌握曲线拟合的最小二乘法; 2、最小二乘法亦可用于解超定线代数方程组; 3、探索拟合函数的选择与拟合精度间的关系。 四、计算公式 对于给定的测量数据(x i ,f i )(i=1,2,…,n ),设函数分布为 ∑==m j j j x a x y 0)()(? 特别的,取)(x j ?为多项式 j j x x =)(? (j=0, 1,…,m )

则根据最小二乘法原理,可以构造泛函 ∑∑==-=n i m j i j j i m x a f a a a H 1 10))((),,,(? 令 0=??k a H (k=0, 1,…,m ) 则可以得到法方程 ???? ??????? ?=????????????????????????),(),(),(),(),(),(),(),(),(),(),(),(1010101111000100m m m m m m m m f f f a a a ????????????????????? 求该解方程组,则可以得到解m a a a ,,,10 ,因此可得到数据的最小二乘解 ∑=≈m j j j x a x f 0)()(? 曲线拟合:实际工作中,变量间未必都有线性关系,如服药后血药浓度与时间的关系;疾病疗效与疗程长短的关系;毒物剂量与致死率的关系等常呈曲线关系。曲线拟合是指选择适当的曲线类型来拟合观测数据,并用拟合的曲线方程分析两变量间的关系。 五、结构程序设计 在程序结构方面主要是按照顺序结构进行设计,在进行曲线的拟合时,为了进行比较,在程序设计中,直接调用了最小二乘法的拟合函数polyfit ,并且依次调用了plot 、figure 、hold on 函数进行图象的绘制,最后调用了一个绝对值函数abs 用于计算拟合函数与原有数据的误差,进行拟合效果的比较。

东南大学数值分析上机题答案

数值分析上机题 第一章 17.(上机题)舍入误差与有效数 设∑=-= N j N j S 2 2 11 ,其精确值为)111-23(21+-N N 。 (1)编制按从大到小的顺序1 -1 ···1-311-21222N S N +++=,计算N S 的通用 程序; (2)编制按从小到大的顺序1 21 ···1)1(111 222-++--+ -=N N S N ,计算N S 的通用程序; (3)按两种顺序分别计算210S ,410S ,610S ,并指出有效位数(编制程序时用单精度); (4)通过本上机题,你明白了什么? 解: 程序: (1)从大到小的顺序计算1 -1 ···1-311-21222N S N +++= : function sn1=fromlarge(n) %从大到小计算sn1 format long ; sn1=single(0); for m=2:1:n sn1=sn1+1/(m^2-1); end end (2)从小到大计算1 21 ···1)1(111 2 22 -++--+-= N N S N function sn2=fromsmall(n) %从小到大计算sn2 format long ; sn2=single(0); for m=n:-1:2 sn2=sn2+1/(m^2-1); end end (3) 总的编程程序为: function p203()

clear all format long; n=input('please enter a number as the n:') sn=1/2*(3/2-1/n-1/(n+1));%精确值为sn fprintf('精确值为%f\n',sn); sn1=fromlarge(n); fprintf('从大到小计算的值为%f\n',sn1); sn2=fromsmall(n); fprintf('从小到大计算的值为%f\n',sn2); function sn1=fromlarge(n) %从大到小计算sn1 format long; sn1=single(0); for m=2:1:n sn1=sn1+1/(m^2-1); end end function sn2=fromsmall(n) %从小到大计算sn2 format long; sn2=single(0); for m=n:-1:2 sn2=sn2+1/(m^2-1); end end end 运行结果:

OFFICE2010综合上机(实训)操作题

一、WORD2010编辑 打开“素材文档.docx”,完成下列操作后以“结果文档.docx”保存到指定的考试文件夹下;完成后的效果如样图所示。 (1)将文章标题“美国正要加入反微软阵营”设置成隶书三号,居中对齐,字符间加宽1.6磅,设置段后间距0.5行。(8分) (2)将文章正文中所有中文字符设置成楷体四号,西方字符设置成Tahoma四号。(6分) (3)将正文设置成左对齐,悬挂缩进2字符,行间间距固定为24磅。(10分) (4)将文章的最后三行加上红色的“点-点-短线下划线”。(6分) (5)为文章标题设置“全映像,4pt偏移量”,使用“新闻纸”纹理页面背景。(10分) (6)插入“新闻纸”页脚,作者处输入文字“时事文摘”,设置成隶书四号。(10分)(7)在文章中相应位置处插入剪贴画“计算机”中相应的一张图片,设置成高4厘米宽4厘米,四周型文本环绕。(10分) 素材: 美国政要加入反微软阵营 前美国参议院多数党领袖、1996年共和党提名总统候选人bob dole与美国上诉法院前法官robert bork,4月20日宣布加入一个旨在针对微软公司反托拉斯法行为的组织,使得微软案进一步升温。这个名为"数字化时代推进竞争和创新计划"(procomp)的组织包括了来自netscape、sun、oracle、corel以及软件出版商协会、计算机和通信业联合会等机构的代表,其他非技术行业的代表还包括美国航空公司、美国旅游机构联合会、knigh t ridder新媒体以及航空运输协会等。dole指出,internet在现今的经济生活中已经成为最新的市场,其控制权不能被任何一家公司独占。微软公司目前控制了90%以上的桌面计算机,并正从中得到垄断的好处。bork补充说,微软公司的这种做法违反了传统的竞争规则。procomp发起这项活动是在微软公司和司法部摆好架势对薄公堂的前一天。dole和bork参与此案意义重大,因为这二位都是知名的政要,享有反对政府介入干预市场的很高声誉。 二、EXCEL 2010电子表格操作 打开“素材文档.xlsx”,完成下列操作后以“结果文档.xlsx”保存到指定的考试文件夹下。 (1)计算星期一至星期五每个班的实际出勤人数,实际出勤人数=应出勤人数-本日缺勤人数,计算结果分别填入相应的列中。(8分) (2)将表格A1:B1,C1:D1,E1:F1,G1:H1,I1:J1,K1:L1合并居中。给表格区域添加上边框线,外框线添加粗匣框线。(8分) (3)设置表格自动调整行高列宽,在表格前插入一行,将A1:M1合并居中,输入表格标题“班级出勤情况登记表”,设置成黑体16磅。(8分) (4)计算本周五天的平均缺勤人数。(6分) (5)选用表格中相应的数据列制作如图所示折线图,添加线性趋势线;图表放置于表格数据区的下方。(8分) (6)将图表的折线修改为红线,蓝色的数据点,图表区填充黄色,绘图区填充浅绿色。(8分) (7)将本周平均缺勤人数的前三名用红色加粗斜体表示出来,值最小的二名用蓝色加粗斜体表示出来。(8分) (8)设置冻结表格的第1、2、3行,工作表重命名为“1班出勤表”,设置工作表标

数值分析上机题目详解

第一章 一、题目 设∑ =-= N N j S 2 j 2 1 1,其精确值为)11 123(21+--N N 。 1) 编制按从大到小的顺序1 1 13112122 2-+??+-+-=N S N ,计算S N 的通用程序。 2) 编制按从小到大的顺序1 21 1)1(111222-+ ??+--+-= N N S N ,计算S N 的通用程序。 3) 按两种顺序分别计算64210,10,10S S S ,并指出有效位数。(编制程序时用单精度) 4) 通过本次上机题,你明白了什么? 二、通用程序 N=input('Please Input an N (N>1):'); AccurateValue=single((0-1/(N+1)-1/N+3/2)/2); Sn1=single(0); for a=2:N; Sn1=Sn1+1/(a^2-1); end Sn2=single(0); for a=2:N; Sn2=Sn2+1/((N-a+2)^2-1); end fprintf('The value of Sn (N=%d)\n',N); fprintf('Accurate Calculation %f\n',AccurateValue); fprintf('Caculate from large to small %f\n',Sn1); fprintf('Caculate from small to large %f\n',Sn2); disp('____________________________________________________')

三、结果 从结果可以看出有效位数是6位。 感想:可以得出,算法对误差的传播有一定的影响,在计算时选一种好的算法可以使结果更为精确。从以上的结果可以看到从大到小的顺序导致大数吃小数的现象,容易产生较大的误差,求和运算从小数到大数所得到的结果才比较准确。

数值分析上机题目

数值分析上机题目 1、 分别用不动点迭代与Newton 法求解方程250x x e -+=的正根与负根。 2、 Use each of the following methods to find a solution in [0.1,1] accurate to within 10^-4 for 4326005502002010x x x x -+--= a. Bisection method b. Newton’s method c. Secant method d. Method of False Position e. Muller’s method 3、 应用Newton 法求f (x )的零点,e=10^-6,这里f (x )=x-sin (x )。 再用求重根的两种方法求f (x )的零点。 4、 应用Newton 法求f (x )的零点,e=10^-6,f(x)=x-sin(x) 再用Steffensen’s method 加速其收敛。 5、 用Neville’s 迭代差值算法,对于函数2 1 (),11125f x x x = -≤≤+进行lagrange 插值。取不同的等分数n=5,10,将区间[-1,1]n 等分,取等距节点。把f(x)和插值多项式的曲线画在同一张图上进行比较。 6、 画狗的轮廓图 7、 Use Romberg integration to compute the following approximations to ? a 、 Determine R1,1,R2,1,R3,1,R4,1and R5,1,and use these approximations to predict the value of the integral. b 、 Determine R2,2 ,R3,3 ,R4,4 ,and R5,5,and modify your prediction. c 、 Determine R6,1 ,R6,2 ,R6,3 ,R6,4 ,R6,5 and R6,6,and modify your prediction.

数值分析上机作业

昆明理工大学工科研究生《数值分析》上机实验 学院:材料科学与工程学院 专业:材料物理与化学 学号:2011230024 姓名: 郑录 任课教师:胡杰

P277-E1 1.已知矩阵A= 10787 7565 86109 75910 ?? ?? ?? ?? ?? ??,B= 23456 44567 03678 00289 00010 ?? ?? ?? ?? ?? ?? ?? ?? ,错误!未找到引用源。 = 11/21/31/41/51/6 1/21/31/41/51/61/7 1/31/41/51/61/71/8 1/41/51/61/71/81/9 1/51/61/71/81/91/10 1/61/71/81/91/101/11?????????????????? (1)用MA TLAB函数“eig”求矩阵全部特征值。 (2)用基本QR算法求全部特征值(可用MA TLAB函数“qr”实现矩阵的QR分解)。解:MA TLAB程序如下: 求矩阵A的特征值: clear; A=[10 7 8 7;7 5 6 5;8 6 10 9;7 5 9 10]; E=eig(A) 输出结果: 求矩阵B的特征值: clear; B=[2 3 4 5 6;4 4 5 6 7;0 3 6 7 8;0 0 2 8 9;0 0 0 1 0]; E=eig(B) 输出结果:

求矩阵错误!未找到引用源。的特征值: clear; 错误!未找到引用源。=[1 1/2 1/3 1/4 1/5 1/6; 1/2 1/3 1/4 1/5 1/6 1/7; 1/3 1/4 1/5 1/6 1/7 1/8; 1/4 1/5 1/6 1/7 1/8 1/9;1/5 1/6 1/7 1/8 1/9 1/10; 1/6 1/7 1/8 1/9 1/10 1/11]; E=eig(错误!未找到引用源。) 输出结果: (2)A= 10 7877565861097 5 9 10 第一步:A0=hess(A);[Q0,R0]=qr(A0);A1=R0*Q0 返回得到: 第二部:[Q1,R1]=qr(A1);A2=R1*Q1

office上机实训任务题库

o f f i c e上机实训任务题库Prepared on 21 November 2021

1、w o r d编辑与排版 (1)打开word2010,输入以下内容: 站在川流不息的十字路口,回望那遥远的尽头,走过的是心情和风景,留下的是记忆。人海茫茫,多少次擦肩而过,若有一次邂逅,那就是缘分。 风速飞驰的车辆,不知哪节车厢里还留着你的身影,在静候,在等待。曾经的温情,记忆虽然有些淡然,有些斑驳。往事,如徐风中的云烟,若隐若现,或左或右,或上或下,总在悠悠的漂浮,若要点燃,依然会有熊熊的火焰在燃烧。既然不能忘却,那就把你的模样,你的名字,你的所有,铭刻在灵魂的深处,直至永远。你若要问;“永远有多远”其实永远并不遥远,人生苦短,就是生命的尽头,到那时,你可否与我化蝶成双影,饮露品粉茗。翩跹于尘世。 记忆的引擎在搜索,那一段段甜蜜的往事,一幅幅温馨的画面。我把它装订成册,然后做成馨香的风铃,悬挂于眼前,随风漫漫转动,暗香也阵阵流动,每一个画面场景都会让我激动不已,潸然泪下,仿佛就如昨日。 记忆的闸门一直是敞开的,有时像涓涓细流在流淌,有时像淙淙的泉水叮咚,叮咚响够不停,而有时,却像潮水般澎湃激昂,让人撕心,让人裂肺。(2)给文章添加标题,“零碎的记忆”,将标题设为楷体,二号,加粗,红色,居中,浅绿1.5磅细线边框,加红色双实线下划线。 (3)将正文字体设为华文行楷,三号,将第一段中所有的“是”字加粗,字体为蓝色。将第二段的“往事”二字加拼音,对齐方式为0-1-0,偏移2磅,字号为10号。

(4)在正文第一段开始插入一张饼形扇面的剪贴画,将环绕方式设置为“四周型”,左对齐。 剪贴画高2厘米,宽2厘米,形状填充为深蓝,文字2,淡色60%,形状轮廓为粗细1.5磅,红色。 (5)第二段分为三栏,第一栏宽为3厘米,第二栏宽为4厘米,栏间距均为0.75厘米,栏间加分隔线。第二段填充灰色—25%底纹。 (6)三、四段所有的格式均清除,只保留文字内容。 (7)将第三段引用明显参考样式,段前二行,段后1.5行,将第三段文字的第一句话的文本效果设为填充,白色,渐变轮廓,强调文字颜色1。将第二句话的第一个字设为带圈字符,样式为圆圈,增大圈号。 (8)将第四段的前五个字加上拼音,最后一句话采用双行合并效果,并添加-15%的灰色底纹。(9)在第三段和第四段之间添加一艺术字,内容为“计算机基础训练题”,艺术字样式为:渐变填充,蓝色,强调文字1,轮廓,白色;将艺术字形状样式设为:细微效果,红色,强调颜色2;将艺术字文本效果设为倾斜右上,棱台为十字形;环绕方式为四周型。(10)第四段段前1行,段后1行,行间距为30磅。(11)为文章添加一传统型页眉,内容为“考试”,居中,日期为系统当前日期,日期格式为:字体黑体,红色。页眉顶端距离为3厘米。 (12)为文章插入一个堆积型封面,标题为“WORD2010练习题”,副标题为“12013班练习题”,作者为自己的姓名。将封面的布局设为居中,标题采用标题样式,副标题采用副标题样式。

数值计算方法I上机实验考试题

数值计算方法I 上机实验考试题(两题任选一题) 1.小型火箭初始质量为900千克,其中包括600千克燃料。火箭竖直向上发射时燃料以15千克/秒的速率燃烧掉,由此产生30000牛顿的恒定推力.当燃料用尽时引擎关闭。设火箭上升的整个过程中,空气阻力与速度平方成正比,比例系数为0.4(千克/米).重力加速度取9.8米/秒2. A. 建立火箭升空过程的数学模型(微分方程); B. 求引擎关闭瞬间火箭的高度、速度、加速度,及火箭到达最高点的时间和高度. 2.小型火箭初始质量为1200千克,其中包括900千克燃料。火箭竖直向上发射时燃料以15千克/秒的速率燃烧掉,由此产生40000牛顿的恒定推力.当燃料用尽时引擎关闭。设火箭上升的整个过程中,空气阻力与速度平方成正比,比例系数记作k ,火箭升空过程的数学模型为 0)0(,0,01222==≤≤-+?? ? ??-==t dt dx x t t mg T dt dx k dt x d m 其中)(t x 为火箭在时刻t 的高度,m =1200-15t 为火箭在时刻t 的质量,T (=30000牛顿)为推力,g (=9.8米/秒2)为重力加速度, t 1 (=900/15=60秒)为引擎关闭时刻. 今测得一组数据如下(t ~时间(秒),x ~高度(米),v ~速度(米/秒)): 现有两种估计比例系数k 的方法: 1.用每一个数据(t,x,v )计算一个k 的估计值(共11个),再用它们来估计k 。 2.用这组数据拟合一个k . 请你分别用这两种方法给出k 的估计值,对方法进行评价,并且回答,能否认为空气阻力系数k=0.5(说明理由).

数据库上机实验题目和答案

试用SQL的查询语句表达下列查询: 1.检索王丽同学所学课程的课程号和课程名。 select Cno ,Cname from c where Cno in (select cno from sc where sno in (select sno from s where sname='王丽' )) 2.检索年龄大于23岁的男学生的学号和姓名。 select sno,sname from s where sex='男' and age>23 3.检索‘c01’课程中一门课程的女学生姓名 select sname from s where sex='女' and sno in (select sno from sc where cno='c01') 4.检索s01同学不学的课程的课程号。 select cno from c where cno not in (select cno from sc where sno ='s01') 5.检索至少选修两门课程的学生学号。 select sc.sno from s,sc where s.sno=sc.sno group by sc.sno having count(https://www.360docs.net/doc/833016084.html,o)>=2 6.每个学生选修的课程门数。 解法一: select so.sno sno,https://www.360docs.net/doc/833016084.html,ount,s.sname from(select sc.sno sno,count(sc.sno) ccount from sc,s where s.sno=sc.sno group by sc.sno ) so,s where s.sno=so.sno 解法二: select sc.sno sno,s.sname,count(sc.sno) ccount from sc,s where s.sno=sc.sno group by sc.sno,sname

《数值计算方法》上机实验报告

《数值计算方法》上机实验报告华北电力大学 实验名称数值il?算方法》上机实验课程名称数值计算方法专业班级:电力实08学生姓名:李超然学号:200801001008 成绩: 指导教师:郝育黔老师实验日期:2010年04月华北电力大学实验报告数值计算方法上机实验报吿一. 各算法的算法原理及计算机程序框图1、牛顿法求解非线性方程 *对于非线性方程,若已知根的一个近似值,将在处展开成一阶 xxfx ()0, fx ()xkk 泰勒公式 "f 0 / 2 八八,fxfxfxxxxx 0 0 0 0 0 kkkk2! 忽略高次项,有 ,fxfxfxxx 0 ()()(),,, kkk 右端是直线方程,用这个直线方程来近似非线性方程。将非线性方程的 **根代入,即fx ()0, X ,* fxfxxx 0 0 0 0, ,, kkk fx 0 fx 0 0,

解出 fX 0 *k XX,, k' fx 0 k 水将右端取为,则是比更接近于的近似值,即xxxxk, Ik, Ik fx ()k 八XX, Ikk* fx()k 这就是牛顿迭代公式。 ,2,计算机程序框图:,见, ,3,输入变量、输出变量说明: X输入变量:迭代初值,迭代精度,迭代最大次数,\0 输出变量:当前迭代次数,当前迭代值xkl ,4,具体算例及求解结果: 2/16 华北电力大学实验报吿 开始 读入 l>k /fx()0?,0 fx 0 Oxx,,01* fx ()0 XX,,,?10 kk, ,1,kN, ?xx, 10 输出迭代输出X输出奇异标志1失败标志

,3,输入变量、输出变量说明: 结束 例:导出计算的牛顿迭代公式,并il ?算。(课本P39例2-16) 115cc (0), 求解结果: 10. 750000 10.723837 10. 723805 10. 723805 2、列主元素消去法求解线性方程组,1,算法原理: 高斯消去法是利用现行方程组初等变换中的一种变换,即用一个不为零的数乘 -个 方程后加只另一个方程,使方程组变成同解的上三角方程组,然后再自下而上 对上三角 3/16 华北电力大学实验报告方程组求解。 列选主元是当高斯消元到第步时,从列的以下(包括)的各元素中选出绝 aakkkkkk 对值最大的,然后通过行交换将其交换到的位置上。交换系数矩阵中的 两行(包括常ekk 数项),只相当于两个方程的位置交换了,因此,列选主元不影响求解的结 ,2,计算机程序框图:,见下页, 输入变量:系数矩阵元素,常向量元素baiji 输出变量:解向量元素bbb,,12n

东南大学《数值分析》-上机题

数值分析上机题1 设2 21 1N N j S j ==-∑ ,其精确值为1311221N N ??-- ?+?? 。 (1)编制按从大到小的顺序222 111 21311 N S N = +++---,计算N S 的通用程序。 (2)编制按从小到大的顺序22 21111(1)121 N S N N =+++----,计算N S 的通用程序。 (3)按两种顺序分别计算210S ,410S ,610S ,并指出有效位数。(编制程序时用单精度) (4)通过本上机题,你明白了什么? 程序代码(matlab 编程): clc clear a=single(1./([2:10^7].^2-1)); S1(1)=single(0); S1(2)=1/(2^2-1); for N=3:10^2 S1(N)=a(1); for i=2:N-1 S1(N)=S1(N)+a(i); end end S2(1)=single(0); S2(2)=1/(2^2-1); for N=3:10^2 S2(N)=a(N-1); for i=linspace(N-2,1,N-2) S2(N)=S2(N)+a(i); end end S1表示按从大到小的顺序的S N S2表示按从小到大的顺序的S N 计算结果

通过本上机题,看出按两种不同的顺序计算的结果是不相同的,按从大到小的顺序计算的值与精确值有较大的误差,而按从小到大的顺序计算的值与精确值吻合。从大到小的顺序计算得到的结果的有效位数少。计算机在进行数值计算时会出现“大数吃小数”的现象,导致计算结果的精度有所降低,我们在计算机中进行同号数的加法时,采用绝对值较小者先加的算法,其结果的相对误差较小。

东南大学数值分析上机作业汇总

东南大学数值分析上机作业 汇总 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

数值分析上机报告 院系: 学号: 姓名:

目录 作业1、舍入误差与有效数 (1) 1、函数文件cxdd.m (1) 2、函数文件cddx.m (1) 3、两种方法有效位数对比 (1) 4、心得 (2) 作业2、Newton迭代法 (2) 1、通用程序函数文件 (3) 2、局部收敛性 (4) (1)最大δ值文件 (4) (2)验证局部收敛性 (4) 3、心得 (6) 作业3、列主元素Gauss消去法 (7) 1、列主元Gauss消去法的通用程序 (7) 2、解题中线性方程组 (7) 3、心得 (9) 作业4、三次样条插值函数 (10) 1、第一型三次样条插值函数通用程序: (10) 2、数据输入及计算结果 (12)

作业1、舍入误差与有效数 设∑ =-=N j N j S 2 2 11 ,其精确值为?? ? ??---1112321N N . (1)编制按从小到大的顺序1 1 131121222-? ??+-+-=N S N ,计算N S 的通用程序; (2)编制按从大到小的顺序()1 21 11111222-???+--+-=N N S N ,计算N S 的通用程序; (3)按两种顺序分别计算642101010,,S S S ,并指出有效位数; (4)通过本上机你明白了什么? 程序: 1、函数文件cxdd.m function S=cxdd(N) S=0; i=2.0; while (i<=N) S=S+1.0/(i*i-1); i=i+1; end script 运行结果(省略>>): S=cxdd(80) S= 0.737577 2、函数文件cddx.m function S=cddx (N) S=0; for i=N:-1:2 S=S+1/(i*i-1); end script 运行结果(省略>>): S=cddx(80) S= 0.737577 3、两种方法有效位数对比

C#上机实验题目和答案8

(1)创建一个控制台应用程序,在程序中定义一个公共接口IMyInterface,该接口中包含两个方法,一个是DoSomething(),另一个是DoSomethingElse();另外再定义一个类MyClass,该类实现了接口IMyInterface,在DoSomething()方法中向控制台输出“Do something.”,在DoSomethingElse()方法中向控制台输出“Do something else.”在Program类中的Main()方法中实例化MyClass 的对象和定义一个接口变量,通过对象和接口变量来访问这两个方法。 (2)创建一个控制台应用程序,在程序中定义了一个接口IIfc1,该接口包含一个无返回值,且带一个字符串类型的参数的方法PrintOut();在程序中定义了另一个接口IIfc2,该接口中也包含一个无返回值,且带一个字符串类型的参数的方法PrintOut();程序中还定义了一个类MyClass,该类以类级别和显式接口成员两种方式实现了这两个接口。在Program类的Main()方法中分别以类对象的引用和两个接口对象的引用来调用PrintOut()方法。 (3)创建一个控制台应用程序,求一个方阵的对角元之和。 1. using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { public interface IMyInterface { void DoSomething(); void DoSomethingElse(); } class MyClass : IMyInterface { public void DoSomething() { Console.WriteLine("Do Something."); } public void DoSomethingElse() { Console.WriteLine("Do Something Else."); } } class Program { static void Main(string[] args) { MyClass MC = new MyClass(); MC.DoSomething();

(完整版)哈工大-数值分析上机实验报告

实验报告一 题目:非线性方程求解 摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。 前言:(目的和意义) 掌握二分法与Newton法的基本原理和应用。 数学原理: 对于一个非线性方程的数值解法很多。在此介绍两种最常见的方法:二分法和Newton法。 对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b)<0,且f(x)在[a,b]内仅有一个实根x*,取区间中点c,若,则c恰为其根,否则根据f(a)f(c)<0是否成立判断根在区间[a,c]和[c,b]中的哪一个,从而得出新区间,仍称为[a,b]。重复运行计算,直至满足精度为止。这就是二分法的计算思想。

Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式 产生逼近解x*的迭代数列{x k},这就是Newton法的思想。当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。另外,若将该迭代公式改进为 其中r为要求的方程的根的重数,这就是改进的Newton法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。 程序设计: 本实验采用Matlab的M文件编写。其中待求解的方程写成function的方式,如下 function y=f(x); y=-x*x-sin(x); 写成如上形式即可,下面给出主程序。 二分法源程序: clear %%%给定求解区间 b=1.5; a=0;

%%%误差 R=1; k=0;%迭代次数初值 while (R>5e-6) ; c=(a+b)/2; if f12(a)*f12(c)>0; a=c; else b=c; end R=b-a;%求出误差 k=k+1; end x=c%给出解 Newton法及改进的Newton法源程序:clear %%%% 输入函数 f=input('请输入需要求解函数>>','s') %%%求解f(x)的导数 df=diff(f);

(完整版)数值计算方法上机实习题答案

1. 设?+=1 05dx x x I n n , (1) 由递推公式n I I n n 1 51+-=-,从0I 的几个近似值出发,计算20I ; 解:易得:0I =ln6-ln5=0.1823, 程序为: I=0.182; for n=1:20 I=(-5)*I+1/n; end I 输出结果为:20I = -3.0666e+010 (2) 粗糙估计20I ,用n I I n n 51 5111+- =--,计算0I ; 因为 0095.05 6 0079.01020 201 020 ≈<<≈??dx x I dx x 所以取0087.0)0095.00079.0(2 1 20=+= I 程序为:I=0.0087; for n=1:20 I=(-1/5)*I+1/(5*n); end I 0I = 0.0083 (3) 分析结果的可靠性及产生此现象的原因(重点分析原因)。 首先分析两种递推式的误差;设第一递推式中开始时的误差为000I I E '-=,递推过程的舍入误差不计。并记n n n I I E '-=,则有01)5(5E E E n n n -==-=-Λ。因为=20E 20020)5(I E >>-,所此递推式不可靠。而在第二种递推式中n n E E E )5 1(5110-==-=Λ,误差在缩小, 所以此递推式是可靠的。出现以上运行结果的主要原因是在构造递推式过程中,考虑误差是否得到控制, 即算法是否数值稳定。 2. 求方程0210=-+x e x 的近似根,要求4 1105-+?<-k k x x ,并比较计算量。 (1) 在[0,1]上用二分法; 程序:a=0;b=1.0; while abs(b-a)>5*1e-4 c=(b+a)/2;

数值计算方法上机实习题

数值计算方法上机实习题 1. 设?+=1 05dx x x I n n , (1) 由递推公式n I I n n 1 51+ -=-,从I 0=0.1824, 0=0.1823I 出发,计算20I ; (2) 20=0I ,20=10000I , 用n I I n n 51 5111+- =--,计算0I ; (3) 分析结果的可靠性及产生此现象的原因(重点分析原因)。 答:第一个算法可得出 e 0=|I 0?I 0 ?| e n =|I n ?I n ?|=5n |e 0| 易知第一个算法每一步计算都把误差放大了5倍,n 次计算后更是放大了5n 倍,可靠性低。 第二个算法可得出 e n =|I n ?I n ?| e 0=(15 )n |e n | 可以看出第二个算法每一步计算就把误差缩小5倍,n 次后缩小了5n 倍,可靠性高。

2. 求方程0210=-+x e x 的近似根,要求41105-+?<-k k x x ,并比较计算量。 (1) 在[0,1]上用二分法; 计算根与步数程序: fplot(@(x) exp(x)+10*x-2,[0,1]); grid on; syms x; f=exp(x)+10*x-2; [root,n]=EFF3(f,0,1); fprintf('root=%6.8f ,n=%d \n',root,n); 计算结果显示: root=0.09057617 ,n=11 (2) 取初值00=x ,并用迭代10 21 x k e x -=+;

(3) 加速迭代的结果; (4) 取初值00 x ,并用牛顿迭代法;

数值分析上机题参考答案.docx

如有帮助欢迎下载支持 数值分析上机题 姓名:陈作添 学号: 040816 习题 1 20.(上机题)舍入误差与有效数 N 1 1 3 1 1 设 S N ,其精确值为 。 2 2 2 N N 1 j 2 j 1 (1)编制按从大到小的顺序 1 1 1 ,计算 S 的通用程序。 S N 1 32 1 N 2 1 N 2 2 (2)编制按从小到大的顺序 1 1 1 ,计算 S 的通用程序。 S N 1 (N 1)2 1 22 1 N N 2 (3)按两种顺序分别计算 S 102 , S 104 , S 106 ,并指出有效位数。 (编制程序时用单精度) (4)通过本上机题,你明白了什么? 按从大到小的顺序计算 S N 的通用程序为: 按从小到大的顺序计算 S N 的通用程序为: #include #include float sum(float N) float sum(float N) { { float j,s,sum=0; float j,s,sum=0; for(j=2;j<=N;j++) for(j=N;j>=2;j--) { { s=1/(j*j-1); s=1/(j*j-1); sum+=s; sum+=s; } } return sum; return sum; } } 从大到小的顺序的值 从小到大的顺序的值 精确值 有效位数 从大到小 从小到大 0.740049 0.74005 0.740049 6 5 S 102 0.749852 0.7499 0.7499 4 4 S 104 0.749852 0.749999 0.749999 3 6 S 106 通过本上机题, 看出按两种不同的顺序计算的结果是不相同的, 按从大到小的顺序计算 的值与精确值有较大的误差, 而按从小到大的顺序计算的值与精确值吻合。 从大到小的顺序 计算得到的结果的有效位数少。 计算机在进行数值计算时会出现“大数吃小数”的现象,导 致计算结果的精度有所降低, 我们在计算机中进行同号数的加法时, 采用绝对值较小者先加 的算法,其结果的相对误差较小。

东南大学-数值分析上机题作业-MATLAB版

2015.1.9 上机作业题报告 JONMMX 2000

1.Chapter 1 1.1题目 设S N =∑1j 2?1 N j=2 ,其精确值为 )1 1 123(21+--N N 。 (1)编制按从大到小的顺序1 1 131121222-+ ??+-+-=N S N ,计算S N 的通用程序。 (2)编制按从小到大的顺序1 21 1)1(111222-+ ??+--+-= N N S N ,计算S N 的通用程序。 (3)按两种顺序分别计算64210,10,10S S S ,并指出有效位数。(编制程序时用单精度) (4)通过本次上机题,你明白了什么? 1.2程序 1.3运行结果

1.4结果分析 按从大到小的顺序,有效位数分别为:6,4,3。 按从小到大的顺序,有效位数分别为:5,6,6。 可以看出,不同的算法造成的误差限是不同的,好的算法可以让结果更加精确。当采用从大到小的顺序累加的算法时,误差限随着N 的增大而增大,可见在累加的过程中,误差在放大,造成结果的误差较大。因此,采取从小到大的顺序累加得到的结果更加精确。 2.Chapter 2 2.1题目 (1)给定初值0x 及容许误差ε,编制牛顿法解方程f(x)=0的通用程序。 (2)给定方程03 )(3 =-=x x x f ,易知其有三个根3,0,3321= *=*-=*x x x ○1由牛顿方法的局部收敛性可知存在,0>δ当),(0δδ+-∈x 时,Newton 迭代序列收敛于根x2*。试确定尽可能大的δ。 ○2试取若干初始值,观察当),1(),1,(),,(),,1(),1,(0+∞+-----∞∈δδδδx 时Newton 序列的收敛性以及收敛于哪一个根。 (3)通过本上机题,你明白了什么? 2.2程序

vfp上机实训基本操作题

基本操作题 1(1)创建一个新的项目“customer_management”。 (2)在新建立的项目“customer_management”中创建数据库“order_management”。 (3)在数据库“order_management”中建立表“order_list”,表名称分别为:“客户型”、“订单号”、“订购日期”和“总金额”;类型分别为:“字符型(6)”、“字符型(6)”、“日期型”和“浮动型”。 (4)为“order list”表创建一个主索引,索引名和索引表达式均是“订单号”。 2在考生文件夹下的“职员管理”数据库中完成下列基本操作: (1)为“员工信息”表增加一个字段,字段名为“EMAIL”,类型为“字符型”,宽度为“20”。 (2)设置“员工信息”表中“性别”字段的有效性规则,性别取“男”或“女”,默认值为“女”。 (3)在“员工信息”表中,将所有记录的“EMAIL”字段值用“部门编号”的字段值加上“职工编号”的字段值再加上“@https://www.360docs.net/doc/833016084.html,”进行替换。 (4)通过“部门编号”字段建立“员工信息”表和“部门”表间的永久联系。 3(1)建立项目文件,文件名为“xm”。 (2)在项目中建立数据库,文件名为“DB1”。 (3)把表单“bd1”添加到项目“xm”中。 (4)修改表单“bd1”,为其添加一个“关闭”按钮。 4(1)将数据库“school”添加到项目文件“xm”中。 (2)将自由表“course”添加到数据库“school”中。 (3)建立数据库表“course"与表“score”之间的关联(两表的索引已经建立)。 (4)为(3)题中的两个表之间的联系设置完整性约束,要求:“更新”规则为“忽略”,“删除”规则和“插入”规则均为“限制”。 5(1)将自由表“股票代码”添加到“投资管理”数据库中。 (2)为表“股票代码”建立一个主索引(升序),索引名和索引表达式均为“股票代码”。 (3)为表“股票代码”设定有效性规则:股票代码第一位必须以0或6开头,错误提示信息是“股票代码必须以0或6开头”。 (4)打开表单文件“bd1”,请修改“登录”命令按钮的标题为关闭。

数值分析上机作业1-1

数值计算方法上机题目1 1、实验1. 病态问题 实验目的: 算法有“优”与“劣”之分,问题也有“好”和“坏”之别。所谓坏问题就是问题本身的解对数据变化的比较敏感,反之属于好问题。希望读者通过本实验对此有一个初步的体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出: 考虑一个高次的代数多项式 ∏=-= ---=20 1)()20)...(2)(1()(k k x x x x x p (E1-1) 显然该多项式的全部根为l ,2,…,20,共计20个,且每个根都是单重的(也称为简 单的)。现考虑该多项式方程的一个扰动 0)(19 =+x x p ε (E1-2) 其中ε是一个非常小的数。这相当于是对(E1-1)中19 x 的系数作一个小的扰动。我们希望比较(E1-1)和(E1-2)根的差别,从而分析方程(E1-1)的解对扰动的敏感性。 实验内容: 为了实现方便,我们先介绍两个 Matlab 函数:“roots ”和“poly ”,输入函数 u =roots (a ) 其中若变量a 存储1+n 维的向量,则该函数的输出u 为一个n 维的向量。设a 的元素依次为121,...,,+n a a a ,则输出u 的各分量是多项式方程 0...1121=++++-n n n n a x a x a x a 的全部根,而函数 b=poly(v) 的输出b 是一个n +1维变量,它是以n 维变量v 的各分量为根的多项式的系数。可见“roots ”和“Poly ”是两个互逆的运算函数. ve=zeros(1,21); ve(2)=ess; roots(poly(1:20))+ve) 上述简单的Matlab 程序便得到(E1-2)的全部根,程序中的“ess ”即是(E1-2)中的ε。 实验要求: (1)选择充分小的ess ,反复进行上述实验,记录结果的变化并分析它们。如果扰动项的系数ε很小,我们自然感觉(E1-1)和(E1-2)的解应当相差很小。计算中你有什么出乎意料的发现?表明有些解关于如此的扰动敏感性如何? (2)将方程(E1-2)中的扰动项改成18 x ε或其他形式,实验中又有怎样的现象出现?

相关文档
最新文档