工数上机作业
工程数学上机作业2011

考试科目: 姓名: 工程数学 学号: 课程编号: 阅卷教师: 成绩:
任意选择如下两个上机作业: 任意选择如下两个上机作业:
1、编写用二分法求 f ( x) = x 3 − x − 1 = 0 在区间[1,1.5]内的一个根的程序, 收敛误差不超 过 0.5 × 10−3 。在同一图形上分别画出 f ( x) 的图形及每一中点对应的函数值,以观 பைடு நூலகம்收敛过程。
2、求解方程 f(x)=0 有如下牛顿迭代公式
,
n≥1,x0 给定
(1)
编制上述算法的通用程序,并以 作为终止迭代的准则。
(ε为预定精度)
(2)
利用上述算法求解方程
f ( x) = 1 − x − sin( x)
这里给定 x0=π/4,且预定精度ε=10-10。 (3 ) 在同一图形上画出 f(x)及每步迭代值,观察迭代变化情况。
-2-
3、设有方程组
5 x1 + 2 x 2 + x3 = −12 − x1 + 4 x 2 + 2 x3 = 20 2 x − 3x + 10 x = 3 2 3 1
(1) 考察用 Jacobi 法,Gauss-Seidal 法解此方程组的收敛性; 用 Jacobi 法及 Gauss-Seidal 法解方程组,要求当 x
( k +1)
− x (k )
∞
< 10 −4 时迭代终止。
4.
已知 f(x)=ex(3x-ex),
利用插值节点 x0=1.00,x1=1.02,x2=1.04,x3=1.06,构造三次 Lagrange 插值公式,由此计算 f(1.03)的近似值,并给出其实际误差。
(完整版)数值计算方法上机实习题答案

(完整版)数值计算⽅法上机实习题答案1.设?+=105dx xx I nn ,(1)由递推公式nI I n n 151+-=-,从0I 的⼏个近似值出发,计算20I ;解:易得:0I =ln6-ln5=0.1823, 程序为:I=0.182; for n=1:20I=(-5)*I+1/n; end I输出结果为:20I = -3.0666e+010 (2)粗糙估计20I ,⽤nI I n n 515111+-=--,计算0I ;因为 0095.056 0079.01020201020≈<<≈??dx x I dx x 所以取0087.0)0095.00079.0(2120=+=I 程序为:I=0.0087; for n=1:20I=(-1/5)*I+1/(5*n); end I0I = 0.0083(3)分析结果的可靠性及产⽣此现象的原因(重点分析原因)。
⾸先分析两种递推式的误差;设第⼀递推式中开始时的误差为000I I E '-=,递推过程的舍⼊误差不计。
并记nn n I I E '-=,则有01)5(5E E E n n n -==-=-Λ。
因为=20E 20020)5(I E >>-,所此递推式不可靠。
⽽在第⼆种递推式中n n E E E )51(5110-==-=Λ,误差在缩⼩,所以此递推式是可靠的。
出现以上运⾏结果的主要原因是在构造递推式过程中,考虑误差是否得到控制,即算法是否数值稳定。
2.求⽅程0210=-+x e x的近似根,要求41105-+?<-k k x x ,并⽐较计算量。
(1)在[0,1]上⽤⼆分法;程序:a=0;b=1.0;while abs(b-a)>5*1e-4 c=(b+a)/2;if exp(c)+10*c-2>0 b=c; else a=c; end end c结果:c =0.0903(2)取初值00=x ,并⽤迭代1021x k e x -=+;程序:x=0; a=1;while abs(x-a)>5*1e-4 a=x;x=(2-exp(x))/10; end x结果:x =0.0905(3)加速迭代的结果;程序:x=0; a=0;b=1;while abs(b-a)>5*1e-4 a=x;y=exp(x)+10*x-2; z=exp(y)+10*y-2;x=x-(y-x)^2/(z-2*y+x); b=x; end x结果:x =0.0995(4)取初值00=x ,并⽤⽜顿迭代法;程序:x=0; a=0;b=1;while abs(b-a)>5*1e-4 a=x;x=x-(exp(x)+10*x-2)/(exp(x)+10); b=x; end x结果: x =0.0905(5)分析绝对误差。
上机数值计算练习题及答案.docx

习题31、在MATLAB 中,先运行指令A=magic(3), B=[l,2,l;3,4,3;5,6,7], C=reshape(l:6,3,2)生成阵列A 珂,B3X2,C3X2 ,然后根据运行结果回答以下问题:(1)计算A*B,B*A,这两个乘积相同吗?(2)计算A\B, B/A,左除、右除结果相同吗?(3)计算B(:,[1,2]).*C和C.*B(:, [1,2]),这两个乘积相同吗?(4)计算A\A和AAA,这两个计算结果相同吗?(5)计算A\eye(3)和inv(A),这两个计算结果相同吗?(提示:根据对计算结果的目测回答问题)解答如下:运行指令:A=magic(3), B=[l,2,l;3,4,3;5,6,7], C=reshape(l:6,3,2)得到结果:8 1 63 5 74 9 2B =1 2 13 4 35 6 7C =1 42 53 6(1)计算A*B,并得到结果如下:» A*Bans =41 56 5353 68 6741 56 45计算B*A, 并得到结果如下:»B*Aans =18 20 2248 50 5286 98 86从以上计算结果可以得出结论:A*BJ (2)计算A\B ,并得到结果如下:» A\Bans =0.0333 0.1000 0.16110.5333 0.6000 0.74440.0333 0.1000 -0.1722计算B/A, 并得到结果如下:B/Aans =0.0056 0.0889 0.17220.1389 0.2222 0.30560.2333 0.7333 0.2333 与B*A这两个乘积不同。
从以上计算结杲可以得出结论:左除、右除结杲不同。
(3)计算B(:,[1,2]).弋,并得到结果如下:A =» B(:,[1,2]).*C ans =1 8 6 20 15 36计算C.*B(:, [1,2]),并得到结果如下: » CFB(:, [1,2]) ans =1 6 20 15 36从以上计算结果可以得出结论:B(: J1,2]).*C 和C ・*B(:, [1,2])的两个乘积相同。
上机练习[1]
![上机练习[1]](https://img.taocdn.com/s3/m/b99eb8ed81c758f5f61f6757.png)
⏹ 第1章 C 语言概述1-1 编写程序,在屏幕上显示一个如下输出:--------------------------------- Programming in C is fun! I love C language.---------------------------------1-2 编写程序,在屏幕上显示一个如下图案:* * * * * * * * **1-3 已知某个圆的半径,编写一个程序,用来计算并显示面积。
要求:将π定义为符号常量,并假设一个恰当的半径值。
1-4 已知两个整数20和10,编写程序,自定义函数add( )将这两个数相加,自定义函数sub( )计算这两个数的差,并按照下面形式显示计算结果: 20+10=3020-10=101-5 已知变量a 、b 和c 的值,编写程序,用来计算并显示x 的值,其中cb a -=x 请分别用以下数值运行该程序 (1)a=250,b=85,c=25 (2)a=300,b=70,c=70⏹ 第2章 常量、变量及数据类型 & 第3章 运算符和表达式3-1 编写程序,求华氏温度100o F 对应的摄氏温度。
计算公式如下:9)32(5-⨯=f c 式中:c 表示摄氏温度,f 表示华氏温度。
(c 定义为实型,f 定义为整型) 3-2 一个物体从100m 的高空自由落下,编写程序,求它在前3s 内下落的垂直距离。
设重力加速度为10m/s 2。
要求,将重力加速度定义为符号常量,尝试将其改为9.8 m/s 2,看结果有何不同? 3-3 将球的半径R 定义为符号常量,计算球的表面积(4πR 2)和体积(4/3*πR 3)。
3-4 给定x 、y 和z 的值,编写程序,使x 等于y 的值,y 等于z 的值,z 等于x 的值。
3-5 编写一个程序,给定一个浮点数(例如456.78),显示该数的个位数字与10位数字之和(例如5+6=11)。
3-6 某种物品每年折旧费的计算方法如下:使用年限废品价值购买价格折旧费-=编写一个程序,当给定某物品的购买价格、使用年限和每年的折旧费时,计算出其废品价值。
数控加工工艺流程

数控加工工艺流程数控加工是一种通过计算机控制机床进行加工的工艺,它可以实现高精度、高效率的加工,广泛应用于航空航天、汽车制造、电子设备等领域。
数控加工工艺流程是指在数控加工过程中所涉及到的各项工艺步骤和操作流程,下面将详细介绍数控加工的工艺流程。
1. 零件设计与编程。
数控加工的第一步是进行零件设计与编程。
在进行数控加工之前,首先需要对待加工的零件进行设计,确定其尺寸、形状和加工要求。
然后利用专业的CAD/CAM软件进行编程,将设计好的零件转化为数控加工程序,包括刀具路径、加工顺序、切削参数等内容。
2. 材料准备与上机。
在进行数控加工之前,需要准备好待加工零件所需的材料,并进行相应的检验和清洗工作。
然后将材料固定在机床工作台上,并进行工件和刀具的装夹,调整好各个工件的位置和夹紧力,确保加工过程中不会出现移位或松动的情况。
3. 加工工艺参数设置。
在上机之后,需要根据零件的材料、形状和加工要求,设置相应的加工工艺参数。
包括切削速度、进给速度、切削深度、切削宽度等参数,这些参数的设置将直接影响到加工质量和加工效率。
4. 数控加工操作。
经过以上准备工作之后,就可以进行数控加工操作了。
操作人员通过数控系统输入预先编好的加工程序,机床将按照程序中设定的路径和参数进行自动加工,实现对工件的精密加工。
在加工过程中,操作人员需要随时监控加工状态,及时调整加工参数,确保加工质量和安全。
5. 加工质量检验。
在数控加工完成之后,需要对加工零件进行质量检验。
通过测量工件的尺寸、形状和表面粗糙度等指标,判断加工质量是否符合要求。
如果发现有缺陷或不合格的地方,需要及时调整加工参数,重新加工或修复工件。
6. 零件清洗与包装。
经过质量检验合格的零件,需要进行清洗和包装工作。
清洗可以去除加工过程中产生的切屑和油污,保持零件的表面清洁。
然后根据客户要求进行包装,以防止零件在运输和储存过程中受到损坏。
7. 加工记录与数据归档。
在数控加工过程中,需要对加工过程进行记录和数据归档。
工数上机作业

1.题目:计算30,2121)(02/2≤≤+=⎰-x dt e x f x t π 的函数值{f(0.1k );k=1,2,…,30}.计算结果取7位有效数字。
算法:数值积分方法(复化牛顿-科特斯公式): )(2122n n nH T T += ∑-=-++-=102)2)12((n i n na b i a f n a b H 程序:#include <stdio.h>#include <math.h>float func(float x){int n,i;float t,h,t1;t=x/2*(1+exp(-x*x/2));for (n=1;n<=500;n++){for (i=0,h=0;i<=n-1;i++){t1=(2*i+1)*x/(2*n);h=h+exp(-t1*t1/2)*x/n;}t=(t+h)/2;}return t;}int main(){int k;float f;for (k=1;k<=30;k++){f=func(0.1*k)/sqrt(2*3.14)+0.5;printf("x=%f,f(x)=%f",0.1*k,f);printf("\n");}}结果:分析:根据结果可知,该函数是一个单调增加的函数2.题目:人造地球卫星的轨道可视为平面上的椭圆,地心位于椭圆的一个焦点处。
已知一颗人造地球卫星近地点距地球表面439 km,远地点距地球表面 2384 km,地球半径为6371 km。
求该卫星的轨道长度。
算法:利用平面曲线的弧长公式, ds=22)dx()(dy 程序:#include <stdio.h>#include <math.h>#define N 1000000double A,B;int main(){ double func(double x);double x=0,dx,g=0,a,c,C,dy;double d1=6371+2384,d2=6371+439;int i;a=(d1+d2)/2;c=(d1-d2)/2;A=a*a;C=c*c;B=A-C;dx=a/N;for(i=0;i<N;i++){dy=func(x+dx)-func(x);x=x+dx;l+=sqrt(dy*dy+dx*dx);}g=4*g;printf("%.1f\n",l);return 0;}double func(double x){double y;y=x*x/A;y=B*(1-y);y=sqrt(y);return y;}结果:48707.3通过题目给出的条件求出半长轴、半短轴长,再利用公式ds=22)()(dy dx +3. 利用切线法求方程0523=--x x 的近似解(取n=2) 算法:过(0x ,f(0x ))作为曲线y=f(x)的切线,交于x 轴于1x 点。
数值计算上机作业

西南交通大学数值计算课程上机作业组号第1组组员学号班级任课教师2017年12月10日目录第1题........................................................................................................ 错误!未定义书签。
1.1 (a) ..................................................................................................... 错误!未定义书签。
1.2 (b) ..................................................................................................... 错误!未定义书签。
第2题. (1)2.1 (a)................................................................................................. 错误!未定义书签。
2.2 (b) ................................................................................................ 错误!未定义书签。
第3题. (1)第4题 (2)4.1 (a)................................................................................................. 错误!未定义书签。
4.2 (b) ................................................................................................ 错误!未定义书签。
上机题及答案

描述已知华氏温度到摄氏温度的转换公式为:摄氏温度= (华氏温度- 32)×5/9,写程序将给定的华氏温度转换为摄氏温度输出输入说明只有一个整数,表示输入的华氏温度输出说明输出一个表示摄氏温度的实数,小数点后保留2位有效数字,多余部分四舍五入输入样例50输出样例10.002计算球体重量描述已知铁的比重是7.86,金的比重是19.3。
写一个程序,分别计算出给定直径的铁球与金球的质量,假定PI=3.1415926输入说明输入两个整数,分别表示铁球与金球的直径(单位为毫米)输出说明输出两个浮点数,分别表示铁球与金球的质量(单位为克),小数点后保留3位小数,两个浮点数之间用空格分隔输入样例100 100输出样例4115.486 10105.456提示#include<stdio.h>int main(){double Fe=7.86,Au=19.3,Pi=3.1415926;int m,n;scanf("%d %d",&m,&n);//注意,要使输出的两个数据中间无逗号,“”之间要无逗号,下面也如此M1=(4.0/3)*Pi*m/2*m/2*m/2*Fe/1000;M2=(4.0/3)*Pi*n/2*n/2*n/2*Au/1000;printf("%.3f %.3f",M1,M2);return 0;}3阶梯电价计费描述电价分三个档次,[0,110]度电,每度电0.5元;(110,210]度电,超出110部分每度电0.55元,超过210度电,超出210部分每度电0.70元,给出一个家庭一月用电量,请计算出应缴的电费(四舍五入,保留小数点后两位小数)。
输入说明第一行为1个整数m(100 > m >0),表示有多少组数据。
其后一行为m个正实数,表示m个用电量数据输出说明一行输出1个电费数据(四舍五入保留2位小数)后,换行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
工科数学分析上机实验一、计算下列函数的函数值并画出图形,观察两个重要极限值。
(1)
(2) x
x x f 1)1()(+=
程序: 分析:
>>x=0:0.01:5; %x 取[0,5]之间的数,步长0.01 >>y=sin(x)./x; %计算各个点的函数值,因为x 是列向
量,故用”./”
>>plot(x,y) %画出图像 >> title('函数图象y=sinx/x');
>> xlabel('x');ylabel('y'); 结果:
00.51 1.52
2.53
3.54
4.55
-0.4
-0.2
0.2
0.4
0.6
0.8
1
函数图象y=sinx/x
x
y
由图像可得函数x
x
x f sin )( 在x=0时的极限为lim f(x)=1
(2)程序如下: >>x=0:0.01:5;
>> y=(1.+x).^(1./x); >> plot(x,y)
>> title('函数图象y=(1+x)^(1/x)'); >> xlabel('x');ylabel('y'); 结果:
00.51 1.52
2.53
3.54
4.5
5
1.4
1.6
1.8
2
2.2
2.4
2.6
2.8
函数图象y=(1+x)(1/x)
x
y
由图像可验证x
x x f 1)1()(+= =e ≈2.7
二、 计算
的函数值{f(0.1k);k=1,2,…,30}。
计算结果取7位有效数字。
程序: 分析:
>>y1={}; %定义一个空矩阵 >> for (x=0.1:0.1:3)
a=0;b=x;eps=1.0e-6; %确定上下限,积分误差 z=quad(f1,a,b,eps)*(1/sqrt(2*pi))+0.5;%运用quad 函数计算积分值
y1=[y1 z]; %将积分值添加到y1向量中 end
结果:
x f(x)
0.1 0.539828
0.2 0.57926
0.3 0.617911
0.4 0.655422
0.5 0.691462
0.6 0.725747
0.7 0.758036
0.8 0.788145
0.9 0.81594
1 0.841345
1.1 0.864334
1.2 0.88493
1.3 0.9032
1.4 0.919243
1.5 0.933193
1.6 0.945201
1.7 0.955435
1.8 0.96407
1.9 0.971283
2 0.97725
2.1 0.982136
2.2 0.986097
2.3 0.989276
2.4 0.991802
2.5 0.99379
2.6 0.995339
2.7 0.996533
2.8 0.997445
2.9 0.998134
3 0.99865。