西北工业大学计算方法第四周作业答案第四章作业答案
西工大计算方法作业答案
参考答案 第一章1 *1x =1.7; *2x =1.73; *3x =1.732 。
2.3. (1) ≤++)(*3*2*1x x x e r 0.00050; (注意:应该用相对误差的定义去求) (2) ≤)(*3*2*1x x x e r 0.50517; (3) ≤)/(*4*2x x e r 0.50002。
4.设6有n 位有效数字,由6≈2.4494……,知6的第一位有效数字1a =2。
令3)1()1(1*1021102211021)(-----⨯≤⨯⨯=⨯=n n r a x ε 可求得满足上述不等式的最小正整数n =4,即至少取四位有效数字,故满足精度要求可取6≈2.449。
5. 答:(1)*x (0>x )的相对误差约是*x 的相对误差的1/2倍;(2)nx )(* 的相对误差约是*x 的相对误差的n 倍。
6. 根据********************sin 21)(cos 21sin 21)(sin 21sin 21)(sin 21)(c b a c e c b a c b a b e c a c b a a e c b S e r ++≤=******)()()(tgcc e b b e a a e ++ 注意当20*π<<c 时,0**>>c tgc ,即1*1*)()(--<c tgc 。
则有)()()()(****c e b e a e S e r r r r ++<7.设20=y ,41.1*0=y ,δ=⨯≤--2*001021y y 由 δ1*001*111010--≤-=-y y y y ,δ2*111*221010--≤-=-y y y yMδ10*991*10101010--≤-=-y y y y即当0y 有初始误差δ时,10y 的绝对误差的绝对值将减小1010-倍。
而11010<<-δ,故计算过程稳定。
西北工业大学_光纤通信作业答案
答案第一章:光纤通信1、什么是光纤通信?光纤通信及系统的组成光纤通信使用光导纤维作为传输光波信号的通信方式。
光纤通信系统通常由电发射机、光发射机、光接收机、电接收机和由光纤构成的光缆等组成。
2、什么事光通信光通信就是以光波为载波的通信。
3、光纤通信的优点?①传输频带宽,通信容量大。
②传输衰减小,传输距离长。
③抗电磁干扰,传输质量好。
④体积小、重量轻、便于施工。
⑤原材料丰富,节约有色金属,有利于环保4、光纤通信的工作波长?光源:近红外区波长:0.8—1.8μm频率:167—375THz5、WDM是指什么?DWDM指什么?WDM:波分复用DWDM:密集波分复用6、光纤从材料上可以分为哪几种?从材料上分为石英光纤、多组份玻璃光纤、氟化物光纤、塑料光纤等7、光纤活动连接器从连接方式来看分为哪几种?常见的插针端面有哪几种?PC、APC、SPC(球面、斜面、超级抛光端面呈球面的物理接触)8、按缆芯结构分,光缆分为哪几种?层绞式、单位式、骨架式、带状式9、光线的制造分哪几个步骤?I 材料准备与提纯II 制棒III 拉丝、涂覆IV 塑套其中制棒分为:(1)MCVD改进的化学气相沉淀法(2)PCVD等离子化学气相沉淀法10、按材料光纤分几种?同611、无源器件的种类连接器、分路器与耦合器、衰减器、隔离器、滤波器、波分复用器、光开关和调制器等第二章:光纤通信的物理学基础1、通过哪些现象可以证明光具有波动性?光的波动性可以从光的干涉、光的衍射和光的偏振等现象证明2、什么叫光电效应?光电效应具有哪些试验规律?由于光的照射使电子从金属中溢出的现象称为光电效应⑴ 每种金属都有一个确定的截止频率γ0,当入射光的频率低于γ0 时,不论入射光多强,照射时间多长,都不能从金属中释放出电子。
⑵ 对于频率高于γ0的入射光,从金属中释放出的电子的最大动能与入射光的强度无关,只与光的频率有关。
频率越高释放出的电子的动能就越大。
⑶ 对于频率高于γ0的入射光,即使入射光非常微弱,照射后也能立即释放出电子。
计算方法-刘师少版课后习题答案
1.1 设3.14, 3.1415, 3.1416分别作为π的近似值时所具有的有效数字位数解 近似值x =3.14=0.314×101,即m =1,它的绝对误差是 -0.001 592 6…,有31105.06592001.0-*⨯≤=- x x .即n =3,故x =3.14有3位有效数字. x =3.14准确到小数点后第2位.又近似值x =3.1416,它的绝对误差是0.0000074…,有5-1*10⨯50≤00000740=-.. x x 即m =1,n =5,x =3.1416有5位有效数字.而近似值x =3.1415,它的绝对误差是0.0000926…,有4-1*10⨯50≤00009260=-.. x x即m =1,n =4,x =3.1415有4位有效数字.这就是说某数有s 位数,若末位数字是四舍五入得到的,那么该数有s 位有效数字 1.2 指出下列各数具有几位有效数字,及其绝对误差限和相对误差限: 2.0004 -0.00200 9000 9000.00解 (1)∵ 2.0004=0.20004×101, m=1绝对误差限:4105.0000049.020004.0-*⨯≤≤-=-x x x m -n =-4,m =1则n =5,故x =2.0004有5位有效数字1x =2,相对误差限000025.010221102151)1(1=⨯⨯=⨯⨯=---n r x ε(2)∵ -0.00200= -0.2×10-2, m =-25105.00000049.0)00200.0(-*⨯≤≤--=-x x xm -n =-5, m =-2则n =3,故x =-0.00200有3位有效数字1x =2,相对误差限3110221-⨯⨯=r ε=0.0025 (3) ∵ 9000=0.9000×104, m =4,0105.049.09000⨯<≤-=-*x x xm -n =0, m =4则n =4,故x =9000有4位有效数字4110921-⨯⨯=r ε=0.000056 (4) ∵9000.00=0.900000×104, m =4,2105.00049.000.9000-*⨯<≤-=-x x xm -n =-2, m =4则n =6,故x =9000.00有6位有效数字 相对误差限为6110921-⨯⨯=rε=0.000 00056由(3)与(4)可以看到小数点之后的0,不是可有可无的,它是有实际意义的.1.3 ln2=0.69314718…,精确到310-的近似值是多少?解 精确到310-=0.001,即绝对误差限是ε=0.0005,故至少要保留小数点后三位才可以.ln2≈0.6932.1 用二分法求方程013=--x x在[1, 2]的近似根,要求误差不超过31021-⨯至少要二分多少?解:给定误差限ε=0.5×10-3,使用二分法时,误差限为)(211*a b x x k k -≤-+ 只要取k 满足ε<-+)(211a b k 即可,亦即 96678.912lg 10lg 35.0lg 12lg lg )lg(=-+-=---≥εa b k只要取n =10.2.3 证明方程1 -x –sin x =0 在区间[0, 1]内有一个根,使用二分法求误差不超过0.5×10-4的根要二分多少次? 证明 令f (x )=1-x -sin x , ∵ f (0)=1>0,f (1)=-sin1<0∴ f (x )=1-x -sin x =0在[0,1]有根.又 f '(x )=-1-c os x<0 (x ∈[0.1]),故f (x ) 在[0,1]单调减少,所以f (x ) 在区间[0,1]内有唯一实根.给定误差限ε=0.5×10-4,使用二分法时,误差限为)(211*a b x x k k -≤-+ 只要取k 满足ε<-+)(211a b k 即可,亦即7287.1312lg 10lg 45.0lg 12lg lg )lg(=-+-=---≥εa b k只要取n =14.2.4 方程0123=--x x 在x =1.5附近有根,把方程写成四种不同的等价形式,并建立相应的迭代公式:(1)211xx +=,迭代公式2111kk x x +=+ (2)231x x +=,迭代公式3211k k x x +=+ (3)112-=x x,迭代公式111-=+k k x x (4)13-=x x ,迭代公式131-=+k k x x试分析每种迭代公式的收敛性,并选取一种收敛迭代公式求出具有四位有效数字的近似根。
西北工业大学计算方法作业集答案及试题
2 则有 er ( S ) < er ( a * ) + er (b * ) + er (c * )
*
注意当 0 < c <
*
π
时, tgc * > c * > 0 ,即 (tgc * )
−1
< (c * ) 。
−1
7.设 y0 = 由
1 * * 2 , y0 = 1.41 , y0 − y0 ≤ × 10 − 2 = δ 2 * −1 * −1 y1 − y1 = 10 y0 − y0 ≤ 10 δ ,
η ∈ [ a, b]
1 f ′(η )(b − a ) 2 2
(2)右矩形公式 将 f(x)在 b 处展开,并积分,得 (3)中矩形公式 将 f(x)在 a + b 处展开,得
2
∫
b
a
f ( x)dx = (b − a ) f (b) −
x * ( x > 0 )的相对误差约是 x * 的相对误差的 1/2 倍; * * n (2) ( x ) 的相对误差约是 x 的相对误差的 n 倍。 1 * * 1 * 1 * b sin c *e(a * ) a sin c *e(b* ) a b cos c *e(c * ) * 2 2 2 6. 根据 er ( S ) ≤ + + 1 * * 1 * * 1 * * a b sin c * a b sin c * a b sin c * 2 2 2 * * * e(a ) e(b ) e(c ) = + * + a* b tgc *
I = 5.6308e −2.8882t
3.1781 4 3.1781 3.6092
计算方法的课后答案
《计算方法》习题答案第一章 数值计算中的误差1.什么是计算方法?(狭义解释)答:计算方法就是将所求的的数学问题简化为一系列的算术运算和逻辑运算,以便在计算机上编程上机,求出问题的数值解,并对算法的收敛性、稳定性和误差进行分析、计算。
2.一个实际问题利用计算机解决所采取的五个步骤是什么?答:一个实际问题当利用计算机来解决时,应采取以下五个步骤: 实际问题→建立数学模型→构造数值算法→编程上机→获得近似结果 4.利用秦九韶算法计算多项式4)(53-+-=x x x x P 在3-=x 处的值,并编程获得解。
解:400)(2345-+⋅+-⋅+=x x x x x x P ,从而所以,多项式4)(53-+-=x x x x P 在3-=x 处的值223)3(-=-P 。
5.叙述误差的种类及来源。
答:误差的种类及来源有如下四个方面:(1)模型误差:数学模型是对实际问题进行抽象,忽略一些次要因素简化得到的,它是原始问题的近似,即使数学模型能求出准确解,也与实际问题的真解不同,我们把数学模型与实际问题之间存在的误差称为模型误差。
(2)观测误差:在建模和具体运算过程中所用的一些原始数据往往都是通过观测、实验得来的,由于仪器的精密性,实验手段的局限性,周围环境的变化以及人们的工作态度和能力等因素,而使数据必然带有误差,这种误差称为观测误差。
(3)截断误差:理论上的精确值往往要求用无限次的运算才能得到,而实际运算时只能用有限次运算的结果来近似,这样引起的误差称为截断误差(或方法误差)。
(4)舍入误差:在数值计算过程中还会用到一些无穷小数,而计算机受机器字长的限制,它所能表示的数据只能是一定的有限数位,需要把数据按四舍五入成一定位数的近似的有理数来代替。
这样引起的误差称为舍入误差。
6.掌握绝对误差(限)和相对误差(限)的定义公式。
答:设*x 是某个量的精确值,x 是其近似值,则称差x x e -=*为近似值x 的绝对误差(简称误差)。
西工大计算方法试题06-10(含答案)
一、考试内容线性方程组和非线性方程(组)的求解、矩阵特征值和特征向量的计算、微积分的计算、微分方程定解问题的求解等,都是工程、科技、统计等实际问题中大量碰到的数学问题,这些问题的精确解很难求出。
而《计算方法》则是一门适合于计算机计算求解的数值方法,它简单可行,能有效求出上述数学问题的近似解。
通过本课程的学习,要求学生能掌握利用计算机求解基本数学问题常用的数值计算方法,学会构造基本的计算格式,并能作一定的误差分析,使学生具备基本的科学计算能力。
主要有:1.了解计算方法的认务和特点;2.熟练掌握方程的的近似解法,包括二分法、迭代法、牛顿迭代法和弦割法3.熟练掌握线性代数方程组的解法,直接解法中的高斯消去法、矩阵的直接三角分解法,平方根分解法,解三对角方程组的追赶法;解线性方程组的迭代法,简单迭代法,雅可比迭代法,赛德尔迭代法,SOR方法及其收敛性4.熟练掌握矩特征值和特征向量的计算,乘幂法与反幂法,古典雅可比方法,雅可比过关法5.熟练掌握插值法,拉格朗日插值法,牛顿插值法,等距节点插值法,埃尔米特插值法,三次样条插值法6.熟练掌握最小二乘法与曲线拟合,掌握矛盾方程组与最小二乘法,数据的多项式拟合,可化为线性拟合模型的曲线拟合7.熟练掌握数值积分与数值微分,包括牛顿-柯特斯求积公式、复化求积公式、龙贝格求积算法、高斯型求积公式和数值微分;8. 熟练掌握常微分方程初值问题数值解法,包括欧拉法与梯形法、泰勒展开法与龙格-库塔法、线性多步法2006-2007第一学期一. 填空1) 近似数253.1*=x 关于真值249.1=x 有____位有效数字;2) 设有插值公式)()(111k nk k x f A dx x f ⎰∑-=≈,则∑=nk kA1=______;(只算系数)3) 设近似数0235.0*1=x ,5160.2*2=x 都是有效数,则相对误差≤)(*2*1x x e r ____; 4) 求方程x x cos =的根的牛顿迭代格式为______;5) 矛盾方程组⎪⎩⎪⎨⎧-=+=-=+1211212121x x x x x x 与⎪⎩⎪⎨⎧-=+=-=+121222212121x x x x x x 得最小二乘解是否相同______。
计算机体系结构第四~六章习题参考答案
⑤ ⑥
⑥
⑦
④ ⑤ ⑤ 5 6 7 8
⑤ ⑥ ⑥ 9 10 11 12 13 ⑦ 15
⑦
⑦ 18 21t(Δ t)
1
2 3
4
3)吞吐率: TP=7/21 =1/3(个 /Δ t) 效率:η =(7*6 Δ t )/(21Δ t*6)=1/3
பைடு நூலகம்
长度为4向量A和B的点积为 A· B=a1*b1+a2*b2+a3*b3+a4*b4 共需做4乘法和3加法: c1=a1*b1, c2=a2*b2, c3=a3*b3, c4=a4*b4 d1=c1+c2, d2=c3+c4, d3=d1+d2= A· B (1)乘法部件和加法部件不能同时工作,部件内也只能顺序 方式工作如下图所示。 由向量点积A· B运算的时空图可知,完成全部运算最少为 4× 5十3 × 5=35(拍) 部件 3.解
1 ⑤ 3# ⑤ 1 3# 2 3# ①# ⑤
1# 5 ② 5 1# ② 2 3# 5
1# 5 2 5 1# 2 2 3 5#
③ 5 5# 15 2 5# 6 ③ 15 2 2 9 3 15 5#
5 解:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 地址流A: 2 1 3 1 4 2 5 3 2 1 2 3 4 1 5
栈顶→
t
n=3栈底 n=4栈底 n=5栈底
2 1 3 1 4 2 5 2 1 3 1 4 2 2 2 3 1 4 2 3 1
3 5 2 4
2 3 5 4
1 2 3 5
2 1 3 5
3 2 1 5
4 3 2 1
西工大20年10月机考《计算方法》作业参考答案非免费
西工大20年10月机考计算方法作业试卷总分:100 得分:96要答an:网叫福到(这四个字的拼音)一、单选题 (共 30 道试题,共 60 分)1.舍入误差是( )产生的误差。
A.只取有限位数B.模型准确值与用数值方法求得的准确值C.观察与测量D.数学模型准确值与实际值正确答案:2. {A.2B.3C.4D.5正确答案:3.用 1+x近似表示ex所产生的误差是( )误差。
A.模型B.观测C.截断D.舍入正确答案:4.解线性方程组的主元素消去法中选择主元的目的是( )。
A.控制舍入误差B.减小方法误差C.防止计算时溢出D.简化计算正确答案:5.舍入误差是(?? ?)产生的误差。
A.只取有限位数B.模型准确值与用数值方法求得的准确值C.观察与测量D.数学模型准确值与实际值正确答案:6. {A.{<img ">B.{<img g">C.0D.1正确答案:7.( )是解方程组Ax=b的迭代格式x(k+1)=Mx(k)+f收敛的一个充分条件;A.{<img ">B.{<img ">C.{<img ">D.{<img >正确答案:8.-324.7500是舍入得到的近似值,它有( )位有效数字。
A.5B.6C.7D.8正确答案:9. {A.舍入B.观测C.模型D.截断正确答案:10. {A.-1B.1C.{<img ">D.0正确答案:11. {A.{<img ">B.{<img >C.{<img >D.0正确答案:12. {A.1B.2C.4D.3正确答案:13. {A.A的各阶顺序主子式不为零B.{<img ">C.{<img ">D.{<img pg">正确答案:14. {A.0B.1C.2D.{<img ">正确答案:15. {A.0B.{<img ">C.2D.1正确答案:16. {A.0B.1C.{<img s>D.{<img s>正确答案:17. 三点的高斯型求积公式的代数精度为()。
计算方法课后习题答案第四章作业
(五)课后习题4.1 对于积分⎰-aadx x f )(,以a x x a x ==-=210,0,为节点,构造形如⎰-++≈aax f A x f A x f A dx x f )()()()(221100的插值型求积公式,并讨论所得公式的代数精度。
解答:⎰⎰--=------=----=aa a a a dx a a a a x x dx x x x x x x x x A 31))(0())(0())(())((2010210⎰⎰--=-+-+=----=aa a a a dx a a a x a x dx x x x x x x x x A 34)0)(0())(())(())((2101201⎰⎰--=-+-+=----=aa a a a dx a a a x a x dx x x x x x x x x A 31)0)(()0)(())(())((1202102易知为Simpson 公式,因此代数精度为34.2 确定 下列求积公式中的待定参数,使其代数精度尽量高,并指出所得公式的代数精度。
(1)⎰++≈2210)2()1()0()(f A f A f A dx x f(2)⎰-⋅++≈hh f f h h f f hdx x f 0''2)]()0([)]()0([2)(α解答:(1)令2,,1)(x x x f =,假定求积公式均准确成立,从而有: ⎰++==202102A A A dx 21022102⋅+⋅+⋅==⎰A A A xdx22212022210038⋅+⋅+⋅⋅==⎰A A A dx x 解以上三元线性方程组从得:34,31120===A A A ,显然仍为Simpson 公式,因此代数精度为3(2)求积公式中只含一个待定参数α,当x x f ,1)(=时,有 ⎰++=hh dx 00]11[2,⎰-++=h h h hxdx 02)11(]0[2α故令2)(x x f =时求积公式准确成立,即⎰-⨯++=hh h h h dx x 0222]202[]0[2α,解得121=α将3)(x x f =代入上述确定的求积公式,有:⎰-++=hh h h h dx x 02233]30[12]0[2,这说明求积公式至少有3次代数精度,再令 4)(x x f =,代入求积公式时有:⎰-++≠hh h h h dx x 03244]40[12]0[2故所建求积公式为⎰-++≈hh f f h h f f h dx x f 0''2)]()0([2)]()0([2)(4.3 对于xxx f sin )(=,利用下表数据,计算8,4=n 时的复合梯形公式84,T T ,以及4=n 复合Simpson 公式4S 的值。
西工大noj答案完整版
西北工业大学POJ答案绝对是史上最全版(不止100题哦……按首字母排序)1.“1“的传奇2.A+B3.A+BⅡ4.AB5.ACKERMAN6.Arithmetic Progressions7.Bee8.Checksum algorithm9.Coin Test10.Dexter need help11.Double12.Easy problem13.Favorite number14.Graveyard15.Hailstone16.Hanoi Ⅱ17.Houseboat18.Music Composer19.Redistribute wealth20.Road trip21.Scoring22.Specialized Numbers23.Sticks24.Sum of Consecutive25.Symmetric Sort26.The Clock27.The Ratio of gainers to losers28.VOL大学乒乓球比赛29.毕业设计论文打印30.边沿与内芯的差31.不会吧,又是A+B32.不屈的小蜗33.操场训练34.插入链表节点35.插入排序36.插入字符37.成绩表计算38.成绩转换39.出租车费40.除法41.创建与遍历职工链表42.大数乘法43.大数除法44.大数加法45.单词频次46.迭代求根47.多项式的猜想48.二分查找49.二分求根50.发工资的日子51.方差52.分离单词53.分数拆分54.分数化小数55.分数加减法56.复数57.高低交换58.公园喷水器59.韩信点兵60.行程编码压缩算法61.合并字符串62.猴子分桃63.火车站64.获取指定二进制位65.积分计算66.级数和67.计算A+B68.计算PI69.计算π70.计算成绩71.计算完全数72.检测位图长宽73.检查图像文件格式74.奖金发放75.阶乘合计76.解不等式77.精确幂乘78.恐怖水母79.快速排序80.粒子裂变81.链表动态增长或缩短82.链表节点删除83.两个整数之间所有的素数84.路痴85.冒泡排序86.你会存钱吗87.逆序整数88.排列89.排列分析90.平均值函数91.奇特的分数数列92.求建筑高度93.区间内素数94.三点顺序95.山迪的麻烦96.删除字符97.是该年的第几天98.是该年的第几天?99.数据加密100.搜索字符101.所有素数102.探索合数世纪103.特殊要求的字符串104.特殊整数105.完全数106.王的对抗107.危险的组合108.文件比较109.文章统计110.五猴分桃111.小型数据库112.幸运儿113.幸运数字”7“114.选择排序115.寻找规律116.循环移位117.延伸的卡片118.羊羊聚会119.一维数组”赋值“120.一维数组”加法“121.勇闯天涯122.右上角123.右下角124.圆及圆球等的相关计算125.圆及圆球等相关计算126.程序员添加行号127.找出数字128.找幸运数129.找最大数130.整数位数131.重组字符串132.子序列的和133.子字符串替换134.自然数立方的乐趣135.字符串比较136.字符串复制137.字符串加密编码138.字符串逆序139.字符串排序140.字符串替换141.字符串左中右142.组合数143.最次方数144.最大乘积145.最大整数146.最小整数147.最长回文子串148.左上角149.左下角1.“1“的传奇#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int n,i,j,k=0,x=1,y,z,m,p,q,a,s=0;scanf("%d",&n);m=n;for(i=1;i<12;i++){m=m/10;k++;if(m==0)break;}q=n;k=k-1;for(a=1;a<=k;a++){x=x*10;}y=q%x;z=q/x;p=q-y;if(z>=2)s=s+x+z*k*(x/10); elses=s+z*k*(x/10);for(j=p;j<=n;j++) {m=j;for(i=1;i<12;i++){x=m%10;if(x==1)s++;m=m/10;if(m==0)break;}}printf("%d",s);return 0;}2.A+B#include <stdio.h>int doubi(int n,int m){n=n+m;n=n%100;return n;}int main(){int t,i,a[100],n,m;scanf("%d",&t);for (i=0;i<=(t-1);i++){scanf("%d%d",&n,&m);a[i]=doubi(n,m);}for (i=0;i<=(t-1);i++)printf("%d\n",a[i]);return 0;}3.A+BⅡ#include <stdio.h>int main(){int A,B,sum;scanf("%d%d",&A,&B);sum=A+B;printf("%d\n",sum);return 0;}4.AB#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){char s[100],q[100];double a,b,c;int n=0,i;scanf("%lf%lf",&a,&b);c=a*b;sprintf(s,"%.0lf",c);for(i=0;i<strlen(s);i++){n=n+s[i]-48;}while(n>=10){sprintf(q,"%d",n);n=0;for(i=0;i<strlen(q);i++)n=n+q[i]-48;}printf("%d",n);return 0;}5.ACKERMAN#include <stdio.h>#include <stdlib.h>int ack(int x,int y){int n;if (x==0) {n=y+1;return n;}else if (y==0) n=ack(x-1,1);else n=ack(x-1,ack(x,y-1));return n;}int main(){int m,b;scanf("%d%d",&m,&b);m=ack(m,b);printf("%d",m);return 0;}6.Arithmetic Progressions#include <stdio.h>#include <math.h>int g(int n){int i;if(n==1) return 0;if(n==2) return 1;if(n==3) return 1;for(i=2;i<=sqrt(n);i++) if(n%i==0) return 0;return 1;}int f(int a,int b,int c){int i=0,s=a-b;if(c==1&&g(a)==1) return a;if(b==0&&g(a)!=1) return -1;while(1){s=s+b;if(g(s)) i++;if(i>=c) break;}return s;int main(){int a,b,c,d[100],i=0,n;while(1){scanf("%d%d%d",&a,&b,&c);if(a==0&&b==0&&c==0) break;d[i]=f(a,b,c);i++;}n=i;for(i=0;i<n;i++)printf("%d\n",d[i]);return 0;}7.Bee#include <stdio.h>#include <stdlib.h>int main()int A[100],i=0,j,k,female=0,male=1,x;for(;;i++){scanf("%d",&A[i]);if(A[i]==-1)break;}for(j=0;j<i;j++){female=0,male=1;for(k=1;k<A[j];k++){x=female;female=male;male=x+male+1;}printf("%d %d\n",male,female+male+1);}return 0;}8.Checksum algorithm #include <stdio.h>#include <stdlib.h>#include <string.h>int main(){int i,n,t,j;char s[100][100];for(i=0;;i++){gets(s[i]);if(s[i][0]=='#') break;}n=i;for(i=0;i<n;i++){t=0;for(j=0;j<strlen(s[i]);j++)if(s[i][j]==32) t=t;else t=t+(j+1)*(s[i][j]-64);printf("%d\n",t);}return 0;}9.Coin Test#include <stdio.h>#include <stdlib.h>int main(){char A[100000];int n,i=0,a=0,b=0,j;double x;while(1){scanf("%c",&A[i]);if(A[i]=='\n')break;i++;}for(j=0;j<i;j++){if(A[j]=='S'){printf("WA");goto OH;}if(A[j]=='U')a++;if(A[j]=='D')b++;}x=a*1.0/(a+b)*1.0;if(x-0.5>0.003||x-0.5<-0.003) printf("Fail");elseprintf("%d/%d",a,a+b);OH:return 0;}10.Dexter need help#include <stdio.h>int fun(int a){if(a==1) return 1;elsereturn fun(a/2)+1;}int main(){int a,b[100],i=0,j; while(1){scanf("%d",&a);if(a==0)break;b[i]=fun(a);i++;}for(j=0;j<i;j++){printf("%d\n",b[j]); }return 0;}11.Double#include <stdio.h>#include <stdlib.h>int main(){int a[100],b[100],i,j,n,t=0;for(i=0;;i++){scanf("%d",&a[i]);if(a[i]==0) break;}n=i;for(i=0;i<n;i++)b[i]=2*a[i];for(i=0;i<n;i++)for(j=0;j<n;j++)if(a[i]==b[j]) t++;printf("%d",t);return 0;}12.Easy problem#include <stdio.h>#include <math.h>int main(){int N,i,n,j=0;scanf("%d",&N);for(i=2;i<N+1;i++){if((N+1)%i==0)j++;}printf("%d",j/2);return 0;}13.Favorite number #include <stdio.h>#include <string.h>#define MAXNUM 100000int prime_number = 0;int prime_list[MAXNUM]; bool is_prime[MAXNUM]; int ans[MAXNUM + 2];int dp[MAXNUM + 2];void set_prime() {int i, j;memset(is_prime, 0, sizeof(is_prime));for (i = 2; i < MAXNUM; i++) {if (is_prime[i] == 0) {prime_list[prime_number++] = i;if (i >= MAXNUM / i) continue;for (j = i * i; j < MAXNUM; j+=i) {is_prime[j] = 1;}}}}int main() {int i, j, k,o=0,d[100];memset(dp, -1, sizeof(dp));set_prime();ans[0] = 0;dp[1] = 0;for (i = 1; i <= MAXNUM; i++) {ans[i] = ans[i - 1] + dp[i];if (dp[i + 1] == -1 || dp[i + 1] > dp[i] + 1) { dp[i + 1] = dp[i] + 1;}for (j = 0; j < prime_number; j++) {if (i > MAXNUM / prime_list[j]) break;k = i * prime_list[j];if (dp[k] == -1 || dp[k] > dp[i] + 1) {dp[k] = dp[i] + 1;}}}while (scanf("%d%d", &i, &j) == 2 && (i || j)) { d[o]=ans[j] - ans[i - 1];o++;}for(i=0;i<o;i++)printf("%d\n",d[i]);}14.Graveyard#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int a[100],b[100],n,i,j;double s,p,l,t;for(i=0;;i++){scanf("%d%d",&a[i],&b[i]);if(a[i]==0&&b[i]==0) break;}n=i;for(i=0;i<n;i++){p=10000;if(b[i]%a[i]==0){printf("0.0000\n");continue;};t=10000/((double)a[i]);for(j=1;j<a[i]+b[i];j++){l=10000/((double)(a[i]+b[i]));l=t-j*l;l=fabs(l);if(l<p) p=l;}s=(a[i]-1)*p;printf("%.4lf\n",s);}return 0;}15.Hailstone#include <stdio.h>#include <stdlib.h>#include <string.h>int f(int n){int s=1;while(1){if(n==1) return s;else if(n%2==0) n=n/2,s++;else n=3*n+1,s++;}}int main()int n,m,i,j=0,t;scanf("%d%d",&m,&n);printf("%d %d",m,n);if(m>n) t=m,m=n,n=t;for(i=m;i<=n;i++)if(f(i)>j) j=f(i);printf(" %d",j);return 0;}16.Hanoi Ⅱ#include <stdio.h>#include <stdlib.h>#define M 70int start[M], targe[M];long long f(int *p, int k, int fina){if(k==0) return 0;if(p[k]==fina) return f(p,k-1,fina); return f(p,k-1,6-fina-p[k])+(1LL<<(k-1));int main (){long long ans;int n;while(scanf("%d",&n),n){int i;for(i=1;i<=n;i++) scanf("%d",&start[i]);for(i=1;i<=n;i++) scanf("%d",&targe[i]);int c=n;for(;c>=1&&start[c]==targe[c];c--);if(c==0){printf("0\n"); continue;}int other=6-start[c]-targe[c];ans=f(start,c-1,other)+f(targe,c-1,other)+1;printf("%lld\n",ans);}return 0;}17.Houseboat#include <stdio.h>#include <stdlib.h>#include <math.h>#define pi 3.1415926int f(float x,float y){int i;for(i=0;;i++)if(50*i>sqrt(x*x+y*y)*sqrt(x*x+y*y)*pi/2) break;return i;}int main(){int n,i,a[100];float x,y;scanf("%d",&n);for(i=0;i<n;i++){scanf("%f%f",&x,&y);a[i]=f(x,y);}for(i=0;i<n;i++)printf("%d %d\n",i+1,a[i]);return 0;}18.Music Composer19.Redistribute wealth#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int a[1000],b[1000],n,i,j,s,sum,t,m,mid,c[100],k=0;while(1){scanf("%d",&n);if(n==0) break;{s=0;for(i=1;i<=n;i++){scanf("%d",&a[i]);s=s+a[i];}m=s/n;b[1]=a[1]-m;b[0]=0;for(i=2;i<n;++i)b[i]=b[i-1]+a[i]-m;for(i=0;i<n;i++)for(j=0;j<n-1-i;j++)if(b[j]>b[j+1])t=b[j],b[j]=b[j+1],b[j+1]=t;mid=b[n/2];sum=0;for(i=0;i<=n-1;++i) sum=sum+fabs(mid-b[i]);c[k]=sum;k++;}}for(i=0;i<k;i++) printf("%d\n",c[i]);return 0;}20.Road trip#include <stdio.h>#include <stdlib.h>#include <math.h>int f(int n){int a[100],b[100],i,s;for(i=0;i<n;i++)scanf("%d%d",&a[i],&b[i]);s=a[0]*b[0];for(i=1;i<n;i++)s=s+a[i]*(b[i]-b[i-1]);return s;}int main(){int n,c[100],i=0;while(1){scanf("%d",&n);if(n==-1) break;c[i]=f(n);i++;}n=i;for(i=0;i<n;i++)printf("%d\n",c[i]);return 0;}21.Scoring#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){int i,j,sum,min,c,count,n,a,b;char s1[50],s2[50];scanf("%d",&n);for(i=0;i<n;i++){count=sum=0;scanf("%s",s2);for(j=0;j<4;j++){scanf("%d%d",&a,&b);if(b!=0){sum+=(a-1)*20+b;count++;}}if(i==0){c=count,min=sum;strcpy(s1,s2);}else if(count>c||(count==c&&sum<min)){min=sum;c=count;strcpy(s1,s2);}}printf("%s %d %d\n",s1,c,min);return 0;}22.Specialized Numbers#include <stdio.h>#include <stdlib.h>int main(){int i,n,sum10,sum12,sum16;for(i=2992;i<3000;i++){n=i;sum10=0;while(n){sum10+=n%10;n/=10;}n=i;sum12=0;while(n){sum12+=n%12;n/=12;}n=i;sum16=0;while(n){sum16+=n%16;n/=16;}if(sum10==sum12&&sum12==sum16) printf("%d\n",i);}return 0;}23.Sticks#include <stdio.h>#include <string.h>#include <stdlib.h>int len[64], n, minlen, get;bool b[64];int cmp(const void *a, const void *b){return *(int *)a < *(int *)b ? 1 : -1;}bool dfs(int nowlen, int nowget, int cnt){if(cnt >= n) return false;if(get == nowget) return true;int i;bool f = false;if(nowlen == 0) f = true;for(i = cnt; i < n; i++){if(!b[i]){if(len[i] + nowlen == minlen){b[i] = true;if(dfs(0, nowget+1, nowget))return true;b[i] = false;return false;}else if(len[i] + nowlen < minlen){b[i] = true;if(dfs(nowlen+len[i], nowget, i+1))return true;b[i] = false;if(f) return false;while(i + 1 < n && len[i] == len[i+1]) i++;}}}return false;}int main(){int i, tollen;while(scanf("%d", &n), n){tollen = 0;int j = 0, p;for(i = 0; i < n; i++){scanf("%d", &p);if(p <= 50){len[j] = p;tollen += len[j];j++;}}n = j;if(n == 0){printf("0\n");continue;}qsort(len, n, sizeof(int), cmp);for(minlen = len[0]; ; minlen++) {if(tollen % minlen) continue;memset(b, 0, sizeof(b));get = tollen / minlen;if(dfs(0, 0, 0)){printf("%d\n", minlen);break;}}}return 0;}24.Sum of Consecutive#include <stdio.h>#include <stdlib.h>#include <string.h>int len[64],n,minlen,get;int b[64];int cmp(const void *a,const void *b) {return *(int *)a<*(int *)b?1:-1;}int dfs(int nowlen,int nowget,int cnt) {if(cnt>=n) return 0;if(get==nowget) return 1;int i,f=0;if(nowlen==0) f=1;for(i=cnt;i<n;i++){if(len[i]+nowlen==minlen){b[i]=1;if(dfs(0,nowget+1,nowget)) return 1;b[i]=0;return 0;}else if(len[i]+nowlen<minlen){b[i]=1;if(dfs(nowlen+len[i],nowget,i+1)) return 1;b[i]=0;if(f) return 0;while(i+1<n&&len[i]==len[i+1]) i++;}}return 0;}int main(){int i,tollen,q=0,c[100];while(scanf("%d",&n),n){tollen=0;int j=0,p;for(i=0;i<n;i++){scanf("%d",&p);if(p<=50){len[j]=p;tollen+=len[j];j++;}}n=j;if(n==0){printf("0\n");continue;}qsort(len,n,sizeof(int),cmp);for(minlen=len[0];;minlen++){if(tollen%minlen) continue;memset(b,0,sizeof(b));get=tollen/minlen;if(dfs(0,0,0)){c[q]=minlen;q++;break;}}}for(i=0;i<q;i++)printf("%d\n",c[i]);return 0;}25.Symmetric Sort#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){double A[100];int i=0,j=0,k=0,l=0,sum=0;while(1){scanf("%lf",&A[i]);if(A[i]==0)break;i++;}for(j=0;j<i;j++){if(A[j]==2)printf("1\n");else{int B[10000],m=1,number=0;double n;B[0]=2;for(k=3;k<=A[j];k+=2){n=(double)k;for(l=2;l<=sqrt(n);l++){if(k%l==0)goto ai;}B[m]=k;m++;ai:;}for(k=0;k<m;k++){sum=0;for(l=k;l<m;l++){sum+=B[l];if(sum==A[j]){number++;break;}}}printf("%d\n",number);}}return 0;}26.The Clock#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){char s[100][100],a[100];int i,j,n;scanf("%d",&n);for(i=0;i<n;i++) scanf("%s",s[i]);for(i=0;i<n-1;i++)for(j=0;j<n-1-i;j++)if(strlen(s[i])>strlen(s[i+1])) strcpy(a,s[i]),strcpy(s[i],s[i+1]),strcpy(s[i+1],a);if(n%2==0){for(i=0;i<n-1;i=i+2) printf("%s ",s[i]);printf("%s ",s[n-1]);for(i=i-3;i>0;i=i-2) printf("%s ",s[i]);}else{for(i=0;i<n-1;i=i+2) printf("%s ",s[i]);printf("%s ",s[n-1]);for(i=i-1;i>0;i=i-2) printf("%s ",s[i]);}return 0;}27.The Ratio of gainers to losers #include<stdio.h>int main(){char s[5];int i,sum=0;gets(s);for(i=0;s[i]!='\0';i++){switch(s[i]){case'I': sum+=1;break; case'V': sum=5-sum;break; case'X':sum=10-sum;break; }}printf("%d\n",sum);return 0;}28.VOL大学乒乓球比赛#include <stdio.h>#include <stdlib.h>int main(){printf("A=Z\nB=X\nC=Y\n");return 0;}29.毕业设计论文打印#include <stdio.h>#include <stdlib.h>int main(){int a[100],j=1,i,n,m;scanf("%d%d",&n,&m);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<n;i++)if(a[i]>a[m]) j++;printf("%d",j++);return 0;}30.边沿与内芯的差#include <stdio.h>#include <stdlib.h>int main(){int A[100][100],i,j,m,n,s=0,t=0;scanf("%d%d",&n,&m);for(i=1;i<=n;i++){for(j=1;j<=m;j++){scanf("%d",&A[i][j]);}}for(i=2;i<m;i++)s=s+A[1][i];for(i=2;i<m;i++)。
数字信号处理—基于计算机的方法第4章答案
4-1 Show that if })(Re{)(tj c et g t ωυ=, Eqs. (4-1b) and (4-1c)are correct, where g (t ) = x (t )+jy (t )=R (t )e j θ(t ).Solution:{}{}()()Re ()Re ()ccj t j t j t t g t e R t e e ωωθυ=={}[()]()R e ()()c o s [()]c j t t c t R t e R t t tωθυωθ+==+ {}{}.()Re [()()]Re [()()][cos sin ]c j tc c or t x t jy t e x t jy t t j t ωυωω=+=++{}Re ()cos ()sin ()cos ()sin c c c c x t t jx t t jy t t y t t ωωωω=++-()()cos ()sin c c t x t t y t t υωω=-4-2 A double-sideband suppressed carrier (DSB-SC) signal s (t ) with a carrier frequency of 3.8 MHz has a complex envelope g (t )=A c m (t ). A c =50V , and the modulation is a 1-kHz sinusoidal test tone described by m (t )=2sin(2π1,000t ) , Evaluate the voltage spectrum for this DSB-SC signal. Solution:using (2-26) with the help of Sec. A-5G(f)=AcM(f)=50[-j δ(f-1000)+j δ(f+1000)]Substituting this into (4-15) and using δ(-f)=δ(f) the voltage spectrum of this DSB-SC signal isS(f)=-j25δ(f-f c -1000)+j25δ(f-f c +1000) -j25δ(f+f c -1000)+j25δ(f+f c +1000)4-3 Assume that the DSB-SC voltage signal s (t ), as described in Prob. 4-2 appears across a 50-Ω resistive load.(a) Compute the actual average power dissipated in the load.(b) compute the actual PEP. Solution: (a) Using (4-17) 222222211()|()|()2212(50)25002222S normC c m P g t A m t A A watts =<>=<>=== ()2500()50 watts 50S norm S ActualL P P R ===(b) Using (4-18)2211[max g()][(50)(2)]22()100 watts 50PEP ActualL t P R ===4-9 Let a modulated signal,()()()100sin 500cos 100sin c a c c a s t t t tωωωωω=++--where the unmodulated carrier is 500 cos ωc tProblems:(a) Find the complex enveloper for the modulated signal.What type of modulation is involved? What is the modulating signal?(b) Find the quadrature modulation components x (t ) and y (t ) for this modulated signal.(c) Find the magnitued and PM components R (t ) and θ(t ) for this modulated signal.(d) Find the total average power, where s (t ) is a voltage waveform that is applied across a 50-Ω load. Solution: (a)()()()100sin 500cos 100sin 500cos 200cos sin 21sin 500cos 5c a c c a c c a a c s t t t t t t t t t ωωωωωωωωωω=++--=+⎛⎫=+ ⎪⎝⎭是AM ,调制信号为:2()sin 5a m t t ω=2()5001sin 5a g t t ω⎛⎫=+ ⎪⎝⎭(b) 2()5001sin 5a x t t ω⎛⎫=+ ⎪⎝⎭ ()0y t =(c)2()5001sin 5a R t t ω⎛⎫=+ ⎪⎝⎭︒=∠=0)()(t g t θ222222222221()|()|2125001sin 25500441sin sin 225550050041500500222522255005002700502502550norma a a norm reald P g t t t t P P watts ωωω=<>⎛⎫=<+> ⎪⎝⎭=<++>=+⨯⨯=+==+=⨯⨯4-10 Find the spectrum of the modulated signal given in Prob. 4-9 by two methods:(a) By direct evaluation using the Fourier transform of s (t ). (b) By the use of Eq. (4-12). Solution:()()()100sin 500cos 100sin c a c c a s t t t tωωωωω=++--[][][]()(){()}100()()2500()()2100()()2c a c a c c c a c a a S f F s t j f f f f f f f f f f j f f f f f f δδδδδδ==++---++---+---+ 2()()5001sin 500200sin 5a a b g t t t ωω⎛⎫=+=+ ⎪⎝⎭()()()()500()100[()()]500()100[()()500()100[()()]500()100[()()]500()100[()()]a a a a c c a c a c c c a c a c c c a c a G f f j f f f f G f f j f f f f f f j f G f f f f j f f f f f f G f f f f j f f f f f f f f f f f δδδδδδδδδδδδδδδ**=++---=---+---=-----+---=-+-+-----=+-+--++--]()()()[][]121500()100[()()]21500()100[()()]2c c c c a c a c c a c a S f G f f G f f f f j f f f f f f f f j f f f f f f δδδδδδ*⎡⎤=-+--⎣⎦=-+-+---++-+--++。
西北工业大学_计算方法作业_答案
西工大计算方法作业答案参考答案 第一章1 *1x =1.7; *2x =1.73; *3x =1.732 。
2.3. (1) ≤++)(*3*2*1x x x e r 0.00050; (注意:应该用相对误差的定义去求) (2) ≤)(*3*2*1x x x e r 0.50517; (3) ≤)/(*4*2x x e r 0.50002。
4.设6有n 位有效数字,由6≈2.4494……,知6的第一位有效数字1a =2。
令3)1()1(1*1021102211021)(-----⨯≤⨯⨯=⨯=n n r a x ε 可求得满足上述不等式的最小正整数n =4,即至少取四位有效数字,故满足精度要求可取6≈2.449。
5. 答:(1)*x (0>x )的相对误差约是*x 的相对误差的1/2倍; (2)n x )(* 的相对误差约是*x 的相对误差的n 倍。
6. 根据********************sin 21)(cos 21sin 21)(sin 21sin 21)(sin 21)(c b a c e c b a c b a b e c a c b a a e c b S e r ++≤ =******)()()(tgcc e b b e a a e ++ 注意当20*π<<c 时,0**>>c tgc ,即1*1*)()(--<c tgc 。
则有)()()()(****c e b e a e S e r r r r ++<7.设20=y ,41.1*0=y ,δ=⨯≤--2*001021y y由 δ1*001*111010--≤-=-y y y y ,δ2*111*221010--≤-=-y y y yδ10*991*10101010--≤-=-y y y y即当0y 有初始误差δ时,10y 的绝对误差的绝对值将减小1010-倍。
而11010<<-δ,故计算过程稳定。
计算方法-刘师少版第四章课后习题完整答案
λ 2 = 0.8 ,故 ρ ( B) = 0.9 < 1 ,所以迭代法收敛。
4.6 设线性方程组
⎧ x1 + αx 2 = 4 ⎨ ⎩2αx1 + x3 = −3
试求能使高斯-赛德尔迭代收敛的 α 的取值范围。 解 高斯-赛德尔迭代矩阵
⎡1 G s = −( D + L) U = − ⎢ ⎣2α
−1
⎤ ⎡0 α ⎤ ⎢ 1⎥ 0⎥ ⎦ ⎣ ⎦
−1
⎡ 1 = −⎢ ⎣− 2α
⎤ ⎡0 α ⎤ ⎡ − 1 ⎤ ⎡0 α ⎤ =⎢ ⎥ ⎢ ⎥ ⎢ 1⎦ ⎣ 0 ⎦ ⎣2α − 1⎥ 0⎥ ⎦⎣ ⎦
⎡0 − α ⎤ =⎢ 2⎥ ⎣0 2α ⎦
它的特征多项式为
α ⎤ ⎡λ det(λI − G s ) = ⎢ = λ (λ − 2α 2 ) 2⎥ ⎣ 0 λ − 2α ⎦
26
第 1 次迭代,k=0, X(0)=(1,1,1,1)T
1.46 ⎧ (1) ⎪ x1 = 1 + 2 (1 − 2 × 1 + 1) = 1 ⎪ ⎪ x (1) = 1 + 1.46 (1 − 2 × 1 + 1) = 1 ⎪ 2 2 ⎨ ⎪ x (1) = 1 + 1.46 (1 + 1 − 2 × 1 + 1) = 1.73 ⎪ 3 2 ⎪ 1.46 ( k +1) ⎪ x4 (1.73 − 2 × 1) = 0.8029 = 1+ 2 ⎩
第四章
⎧10 x1 − 2 x 2 − x3 = 3 ⎪ ⎨− 2 x1 + 10 x 2 − x3 = 15 ⎪− x − 2 x + 5 x = 10 2 3 ⎩ 1
要求 x
西北工业大学数值分析(附答案)
西北工业大学数值分析习题集第一章 绪 论1. 设x >0,x 的相对误差为δ,求ln x 的误差.2. 设x 的相对误差为2%,求nx 的相对误差.3. 下列各数都是经过四舍五入得到的近似数,即误差限不超过最后一位的半个单位,试指出它们是几位有效数字: *****123451.1021,0.031,385.6,56.430,7 1.0.x x x x x =====⨯4. 利用公式(3.3)求下列各近似值的误差限:********12412324(),(),()/,i x x x ii x x x iii x x ++其中****1234,,,x x x x 均为第3题所给的数.5. 计算球体积要使相对误差限为1%,问度量半径R 时允许的相对误差限是多少?6. 设028,Y =按递推公式1n n Y Y -= ( n=1,2,…)计算到100Y .27.982(五位有效数字),试问计算100Y 将有多大误差?7. 求方程25610x x -+=的两个根,使它至少具有四位有效数字≈27.982).8. 当N 充分大时,怎样求211Ndx x +∞+⎰?9. 正方形的边长大约为100㎝,应怎样测量才能使其面积误差不超过1㎝2?10. 设212S gt =假定g 是准确的,而对t 的测量有±0.1秒的误差,证明当t 增加时S 的绝对误差增加,而相对误差却减小.11. 序列{}n y 满足递推关系1101n n y y -=-(n=1,2,…),若0 1.41y =≈(三位有效数字),计算到10y 时误差有多大?这个计算过程稳定吗?12. 计算61)f =, 1.4≈,利用下列等式计算,哪一个得到的结果最好?3--13.()ln(f x x =,求f (30)的值.若开平方用六位函数表,问求对数时误差有多大?若改用另一等价公式ln(ln(x x =-计算,求对数时误差有多大?14. 试用消元法解方程组{101012121010;2.x x x x +=+=假定只用三位数计算,问结果是否可靠?15. 已知三角形面积1sin ,2s ab c =其中c 为弧度,02c π<<,且测量a ,b ,c 的误差分别为,,.a b c ∆∆∆证明面积的误差s ∆满足.s a b c s a b c ∆∆∆∆≤++第二章 插值法1. 根据(2.2)定义的范德蒙行列式,令2000011211121()(,,,,)11n n n n n n n n n x x x V x V x x x x x x x xxx ----==证明()n V x 是n 次多项式,它的根是01,,n x x -,且 101101()(,,,)()()n n n n V x V x x x x x x x ---=--.2. 当x = 1 , -1 , 2 时, f (x)= 0 , -3 , 4 ,求f (x )的二次插值多项式.3.4. 给出cos x ,0°≤x ≤90°的函数表,步长h =1′=(1/60)°,若函数表具有5位有效数字,研究用线性插值求cos x 近似值时的总误差界.5. 设0k x x kh =+,k =0,1,2,3,求032max ()x x x l x ≤≤.6. 设jx 为互异节点(j =0,1,…,n ),求证:i) 0()(0,1,,);nk kj jj x l x x k n =≡=∑ii) 0()()1,2,,).nk jj j xx l x k n =-≡0(=∑1. 设[]2(),f x C a b ∈且()()0f a f b ==,求证21()()().8max max a x ba xb f x b a f x ≤≤≤≤≤-"2. 在44x -≤≤上给出()xf x e =的等距节点函数表,若用二次插值求xe 的近似值,要使截断误差不超过610-,问使用函数表的步长h 应取多少? 3. 若2nn y =,求4n y ∆及4n y δ. 4. 如果()f x 是m 次多项式,记()()()f x f x h f x ∆=+-,证明()f x 的k 阶差分()(0)k f x k m ∆≤≤是m k -次多项式,并且()0(m l f x l +∆=为正整数).5. 证明1()k k k k k k f g f g g f +∆=∆+∆.6. 证明110010.n n kkn n k k k k f gf g f g g f --+==∆=--∆∑∑7. 证明1200.n j n j y y y -=∆=∆-∆∑8. 若1011()n n n n f x a a x a x a x --=++++有n 个不同实根12,,,n x x x ,证明{10,02;, 1.1()n k njk n a k n j jx f x -≤≤-=-=='∑9. 证明n 阶均差有下列性质: i)若()()F x cf x =,则[][]0101,,,,,,n n F x x x cf x x x =;ii) 若()()()F x f x g x =+,则[][][]010101,,,,,,,,,n n n F x x x f x x x g x x x =+.10. 74()31f x x x x =+++,求0172,2,,2f ⎡⎤⎣⎦及0182,2,,2f ⎡⎤⎣⎦.11. 证明两点三次埃尔米特插值余项是(4)22311()()()()/4!,(,)k k k k R x f x x x x x x ++=ξ--ξ∈并由此求出分段三次埃尔米特插值的误差限.12. 求一个次数不高于4次的多项式()P x ,使它满足(0)(1)P P k =-+并由此求出分段三次埃尔米特插值的误差限. 13. 试求出一个最高次数不高于4次的函数多项式()P x ,以便使它能够满足以下边界条件(0)(0)0P P ='=,(1)(1)1P P ='=,(2)1P =.14. 设[](),f x C a b ∈,把[],a b 分为n 等分,试构造一个台阶形的零次分段插值函数()n x ϕ并证明当n →∞时,()n x ϕ在[],a b 上一致收敛到()f x .15. 设2()1/(1)f x x =+,在55x -≤≤上取10n =,按等距节点求分段线性插值函数()h I x ,计算各节点间中点处的()h I x 与()f x 的值,并估计误差. 16. 求2()f x x =在[],a b 上的分段线性插值函数()h I x ,并估计误差. 17. 求4()f x x =在[],a b 上的分段埃尔米特插值,并估计误差.试求三次样条插值并满足条件i) (0.25) 1.0000,(0.53)0.6868;S S '='= ii)(0.25)(0.53)0.S S "="=19. 若[]2(),f x C a b ∈,()S x 是三次样条函数,证明 i)[][][][]222()()()()2()()()bbbbaaaaf x dx S x dx f x S x dx S x f x S x dx"-"="-"+""-"⎰⎰⎰⎰;ii) 若()()(0,1,,)i i f x S x i n ==,式中i x 为插值节点,且01n a x x x b =<<<=,则[][][]()()()()()()()()()baS x f x S x dx S b f b S b S a f a S a ""-"="'-'-"'-'⎰.20. 编出计算三次样条函数()S x 系数及其在插值节点中点的值的程序框图(()S x 可用(8.7)式的表达式).第三章 函数逼近与计算1. (a)利用区间变换推出区间为[],a b 的伯恩斯坦多项式.(b)对()sin f x x =在[]0,/2π上求1次和三次伯恩斯坦多项式并画出图形,并与相应的马克劳林级数部分和误差做比较. 2. 求证:(a)当()m f x M ≤≤时,(,)n m B f x M ≤≤. (b)当()f x x =时,(,)n B f x x =.3. 在次数不超过6的多项式中,求()sin 4f x x =在[]0,2π的最佳一致逼近多项式.4. 假设()f x 在[],a b 上连续,求()f x 的零次最佳一致逼近多项式.5. 选取常数a ,使301max x x ax≤≤-达到极小,又问这个解是否唯一?6. 求()sin f x x =在[]0,/2π上的最佳一次逼近多项式,并估计误差.7. 求()x f x e =在[]0,1上的最佳一次逼近多项式.8. 如何选取r ,使2()p x x r =+在[]1,1-上与零偏差最小?r 是否唯一? 9. 设43()31f x x x =+-,在[]0,1上求三次最佳逼近多项式.10. 令[]()(21),0,1n n T x T x x =-∈,求***0123(),(),(),()T x T x T x T x .11. 试证{}*()nTx 是在[]0,1上带权ρ=的正交多项式.12. 在[]1,1-上利用插值极小化求11()f x tg x -=的三次近似最佳逼近多项式. 13. 设()xf x e =在[]1,1-上的插值极小化近似最佳逼近多项式为()n L x ,若n f L ∞-有界,证明对任何1n ≥,存在常数n α、n β,使11()()()()(11).n n n n n T x f x L x T x x ++α≤-≤β-≤≤14. 设在[]1,1-上234511315165()128243843840x x x x x x ϕ=-----,试将()x ϕ降低到3次多项式并估计误差.15. 在[]1,1-上利用幂级数项数求()sin f x x =的3次逼近多项式,使误差不超过0.005.16. ()f x 是[],a a -上的连续奇(偶)函数,证明不管n 是奇数或偶数,()f x 的最佳逼近多项式*()n n F x H ∈也是奇(偶)函数.17. 求a 、b 使[]220sin ax b x dx π+-⎰为最小.并与1题及6题的一次逼近多项式误差作比较.18. ()f x 、[]1(),g x C a b ∈,定义()(,)()();()(,)()()()();b baaa f g f x g x dxb f g f x g x dx f a g a =''=''+⎰⎰问它们是否构成内积?19. 用许瓦兹不等式(4.5)估计6101x dx x +⎰的上界,并用积分中值定理估计同一积分的上下界,并比较其结果.20. 选择a ,使下列积分取得最小值:1122211(),x ax dx x ax dx----⎰⎰.21. 设空间{}{}10010121,,,span x span x x 1ϕ=ϕ=,分别在1ϕ、2ϕ上求出一个元素,使得其为[]20,1x C ∈的最佳平方逼近,并比较其结果.22.()f x x =在[]1,1-上,求在{}2411,,span x x ϕ=上的最佳平方逼近.23.sin (1)arccos ()n n x u x +=是第二类切比雪夫多项式,证明它有递推关系()()()112n n n u x xu x u x +-=-.24. 将1()sin2f x x=在[]1,1-上按勒让德多项式及切比雪夫多项式展开,求三次最佳平方逼近多项式并画出误差图形,再计算均方误差.25. 把()arccos f x x =在[]1,1-上展成切比雪夫级数.26.2y a bx =+.27.用最小二乘拟合求.29. 编出用正交多项式做最小二乘拟合的程序框图. 30. 编出改进FFT 算法的程序框图. 31. 现给出一张记录{}{}4,3,2,1,0,1,2,3k x =,试用改进FFT 算法求出序列{}k x 的离散频谱{}k C (0,1,,7).k =第四章 数值积分与数值微分1. 确定下列求积公式中的待定参数,使其代数精度尽量高,并指明所构造出的求积公式所具有的代数精度:(1)101()()(0)()hh f x dx A f h A f A f h --≈-++⎰; (2)21012()()(0)()hh f x dx A f h A f A f h --≈-++⎰;(3)[]1121()(1)2()3()/3f x dx f f x f x -≈-++⎰;(4)[][]20()(0)()/1(0)()hf x dx h f f h ah f f h ≈++'-'⎰.2. 分别用梯形公式和辛普森公式计算下列积分:(1)120,84xdx n x =+⎰; (2)1210(1),10x e dx n x --=⎰;(3)1,4n =⎰;(4),6n =.3. 直接验证柯特斯公式(2.4)具有5次代数精度.4. 用辛普森公式求积分10xedx-⎰并计算误差.5. 推导下列三种矩形求积公式:(1)2()()()()()2ba f f x dxb a f a b a 'η=-+-⎰; (2)2()()()()()2ba f f x dxb a f b b a 'η=---⎰;(3)3()()()()()224baa b f f x dx b a f b a +"η=-+-⎰. 6. 证明梯形公式(2.9)和辛普森公式(2.11)当n →∞时收敛到积分()baf x dx⎰.7. 用复化梯形公式求积分()baf x dx⎰,问要将积分区间[],a b 分成多少等分,才能保证误差不超过ε(设不计舍入误差)?8.1x e dx-,要求误差不超过510-.9. 卫星轨道是一个椭圆,椭圆周长的计算公式是S a =θ,这里a 是椭圆的半长轴,c 是地球中心与轨道中心(椭圆中心)的距离,记h 为近地点距离,H 为远地点距离,6371R =公里为地球半径,则(2)/2,()/2a R H h c H h =++=-.我国第一颗人造卫星近地点距离439h =公里,远地点距离2384H =公里,试求卫星轨道的周长. 10. 证明等式3524sin3!5!n nn n ππππ=-+-试依据sin(/)(3,6,12)n n n π=的值,用外推算法求π的近似值.11. 用下列方法计算积分31dyy ⎰并比较结果.(1) 龙贝格方法;(2) 三点及五点高斯公式;(3) 将积分区间分为四等分,用复化两点高斯公式.1. 用三点公式和五点公式分别求21()(1)f x x =+在x =1.0,1.1和1.2处的导数值,并估计误()f x第五章 常微分方程数值解法1. 就初值问题0)0(,=+='y b ax y 分别导出尤拉方法和改进的尤拉方法的近似解的表达式,并与准确解bx ax y +=221相比较。
西北工业大学航空学院结构力学课后题答案第四章 力法
第四章 力法4-1 利用对称与反对称条件,简化图4-15所示各平面刚架结构,要求画出简化图及其位移边界条件。
(a)(a)解:对称结构,在对称载荷作用下,在对称轴上反对称内力为零。
由静力平衡条件∑=0X可得23PN =再由两个静力平衡条件,剩余4个未知力,为二次静不定。
本题中通过对称性条件的使用,将6次静不定的问题转化为2次静不定。
PP(b)(b)解:对称结构,在反对称载荷作用下,在对称轴上对称的内力为零。
受力分析如图所示有2根对称轴,结合平衡方程,剩下三个未知数,为3次静不定。
本题中通过对称性条件的使用,将6次静不定问题转化为3次静不定。
(c)(c)解:对称结构,在对称载荷作用下,在对称轴上反对称内力为零。
有一根对称轴,减少了两个静不定度本题中通过对称性条件的使用,将3次静不定问题转化为1次静不定。
4-2图4-16所示桁架各杆的EA均相同,求桁架各杆的内力。
(a)(a)解:1、分析结构静不定次数。
结构有4个结点8个自由度,6根杆6个约束,3个外部约束。
因此结构静不定次数为1,f=1。
2、取基本状态。
切开2-4杆,取<P>,<1>状态,各杆内力如图。
1234P-P √2P<P>1234P<1>11√22√22√22√22计算影响系数∑=∆EAl N N i p P 11()2422222+=⎪⎪⎭⎫ ⎝⎛⨯+⨯=EA Pa P P EA a ∑=EAl N i1211δ()22222142222+=⎪⎪⎭⎫ ⎝⎛⨯⨯+⨯⨯=EA a EA a 列正则方程:()()02242221=+++P X解之()P X 42321-=3、由11N X N N P +=,得()P X N 423220112-=⎪⎪⎭⎫ ⎝⎛-⋅+= ()P X P N 42212113+=⋅+=()P X N 423220114-=⎪⎪⎭⎫ ⎝⎛-⋅+=()P X N 423220123-=⎪⎪⎭⎫ ⎝⎛-⋅+=()P X N 423210124-=⋅+=()P X P N 42122134+-=⎪⎪⎭⎫ ⎝⎛-⋅+-=4、校核。
计算机科学基础_西北工业大学中国大学mooc课后章节答案期末考试题库2023年
计算机科学基础_西北工业大学中国大学mooc课后章节答案期末考试题库2023年1.为解决某一特定问题而用一种计算机语言设计的操作序列称为()?答案:程序2.算法的三种基本结构中不包括()?答案:逻辑结构3.计算机理论领域一直以它独有的底蕴,散发醉人的芬芳。
计算机中的算法可能就源于我们的生活中,并且应用在生活的方面。
以下哪些算法我们在生活中可以容易应用()?答案:排序算法_迭代法_递归法4.关于排序算法在生活中的应用,下面哪些说法是正确的()?答案:我们要对班级同学进行奖学金评定,按照成绩进行评比。
如果原始输入学生成绩中存在相同记录,输入次序影响结果,为了保证结果的公平性和准确性,那么我们就应该采用稳定的排序算法。
_打麻将整理清一色麻将过程中,假如麻将不能移动,只能交换的话,玩家会从头到尾找一张最小的牌,然后与第一位置的牌交换位置,然后从剩下的牌中依次找到最小的放到i张牌中,使之从小到大排好序。
这种排序方法就是选择排序。
_排序的默认前提是,将要排序的是同一数据类型。
例如我们对所有的书进行排序,排序对象都是书。
_打扑克抓牌的过程,通常我们右手抓牌,每一次抓新牌,就放到左手,抓入下一张牌后,会把这张牌依次和左手上的牌进行比较,并按照牌面大小把它插入到一个合适位置,这使用的就是插入排序算法思想。
5.程序包括两方面内容,分别是()?答案:对操作的描述_对数据的描述6.以下说法正确的是()?答案:算法的控制结构有顺序结构、选择结构和循环结构三种基本结构_计算机最基本的操作功能有算数运算,关系运算,逻辑运算,数据传输_计算机科学家沃斯对程序提出一个经典公式:程序=数据结构+算法_计算机系统能完成各种工作的核心是“程序”7.编译型的计算机语言处理系统可以生成独立的可执行文件,之后程序的执行将不再需要源程序。
答案:正确8.解释型的计算机语言处理系统可以生成独立的可执行文件,之后程序的执行将不依赖源程序。
答案:错误9.算法可以有0个或者多个输入,也可以有0个或者多个输出答案:错误10.算法的描述可以用自然语言、伪代码、流程图、程序设计语言等。
西工大noj答案解析(完整版)
西北工业大学POJ答案绝对是史上最全版(不止100题哦……按首字母排序)1.“1“的传奇2.A+B3.A+BⅡ4.AB5.ACKERMAN6.Arithmetic Progressions7.Bee8.Checksum algorithm9.Coin Test10.Dexter need help11.Double12.Easy problem13.Favorite number14.Graveyard15.Hailstone16.Hanoi Ⅱ17.Houseboat18.Music Composer19.Redistribute wealth20.Road trip21.Scoring22.Specialized Numbers23.Sticks24.Sum of Consecutive25.Symmetric Sort26.The Clock27.The Ratio of gainers to losers28.VOL大学乒乓球比赛29.毕业设计论文打印30.边沿与内芯的差31.不会吧,又是A+B32.不屈的小蜗33.操场训练34.插入链表节点35.插入排序36.插入字符37.成绩表计算38.成绩转换39.出租车费40.除法41.创建与遍历职工链表42.大数乘法43.大数除法44.大数加法45.单词频次46.迭代求根47.多项式的猜想48.二分查找49.二分求根50.发工资的日子51.方差52.分离单词53.分数拆分54.分数化小数55.分数加减法56.复数57.高低交换58.公园喷水器59.韩信点兵60.行程编码压缩算法61.合并字符串62.猴子分桃63.火车站64.获取指定二进制位65.积分计算66.级数和67.计算A+B68.计算PI69.计算π70.计算成绩71.计算完全数72.检测位图长宽73.检查图像文件格式74.奖金发放75.阶乘合计76.解不等式77.精确幂乘78.恐怖水母79.快速排序80.粒子裂变81.链表动态增长或缩短82.链表节点删除83.两个整数之间所有的素数84.路痴85.冒泡排序86.你会存钱吗87.逆序整数88.排列89.排列分析90.平均值函数91.奇特的分数数列92.求建筑高度93.区间内素数94.三点顺序95.山迪的麻烦96.删除字符97.是该年的第几天98.是该年的第几天?99.数据加密100.搜索字符101.所有素数102.探索合数世纪103.特殊要求的字符串104.特殊整数105.完全数106.王的对抗107.危险的组合108.文件比较109.文章统计110.五猴分桃111.小型数据库112.幸运儿113.幸运数字”7“114.选择排序115.寻找规律116.循环移位117.延伸的卡片118.羊羊聚会119.一维数组”赋值“120.一维数组”加法“121.勇闯天涯122.右上角123.右下角124.圆及圆球等的相关计算125.圆及圆球等相关计算126.程序员添加行号127.找出数字128.找幸运数129.找最大数130.整数位数131.重组字符串132.子序列的和133.子字符串替换134.自然数立方的乐趣135.字符串比较136.字符串复制137.字符串加密编码138.字符串逆序139.字符串排序140.字符串替换141.字符串左中右142.组合数143.最次方数144.最大乘积145.最大整数146.最小整数147.最长回文子串148.左上角149.左下角1.“1“的传奇#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int n,i,j,k=0,x=1,y,z,m,p,q,a,s=0; scanf("%d",&n);m=n;for(i=1;i<12;i++){m=m/10;k++;if(m==0)break;}q=n;k=k-1;for(a=1;a<=k;a++){x=x*10;}y=q%x;z=q/x;p=q-y;if(z>=2)s=s+x+z*k*(x/10);elses=s+z*k*(x/10);for(j=p;j<=n;j++){m=j;for(i=1;i<12;i++) {x=m%10;if(x==1)s++;m=m/10;if(m==0)break;}}printf("%d",s);return 0;}2.A+B#include <stdio.h>int doubi(int n,int m) {n=n+m;n=n%100;return n;}int main(){int t,i,a[100],n,m;scanf("%d",&t);for (i=0;i<=(t-1);i++){ scanf("%d%d",&n,&m); a[i]=doubi(n,m);}for (i=0;i<=(t-1);i++)printf("%d\n",a[i]); return 0;}3.A+BⅡ#include <stdio.h>int main(){int A,B,sum;scanf("%d%d",&A,&B);sum=A+B;printf("%d\n",sum); return 0;}4.AB#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){char s[100],q[100];double a,b,c;int n=0,i;scanf("%lf%lf",&a,&b);c=a*b;sprintf(s,"%.0lf",c);for(i=0;i<strlen(s);i++){n=n+s[i]-48;}while(n>=10){sprintf(q,"%d",n);n=0;for(i=0;i<strlen(q);i++) n=n+q[i]-48;}printf("%d",n);return 0;}5.ACKERMAN#include <stdio.h>#include <stdlib.h>#include <math.h>int ack(int x,int y){int n;if (x==0) {n=y+1;return n;}else if (y==0) n=ack(x-1,1);else n=ack(x-1,ack(x,y-1)); return n;}int main(){int m,b;scanf("%d%d",&m,&b);m=ack(m,b);printf("%d",m);return 0;}6.Arithmetic Progressions#include <stdio.h>#include <stdlib.h>#include <math.h>int g(int n){int i;if(n==1) return 0;if(n==2) return 1;if(n==3) return 1;for(i=2;i<=sqrt(n);i++) if(n%i==0) return 0; return 1;}int f(int a,int b,int c){int i=0,s=a-b;if(c==1&&g(a)==1) return a;if(b==0&&g(a)!=1) return -1;while(1){s=s+b;if(g(s)) i++;if(i>=c) break;}return s;int main(){int a,b,c,d[100],i=0,n;while(1){scanf("%d%d%d",&a,&b,&c); if(a==0&&b==0&&c==0) break; d[i]=f(a,b,c);i++;}n=i;for(i=0;i<n;i++)printf("%d\n",d[i]);return 0;}7.Bee#include <stdio.h>#include <stdlib.h>int main()int A[100],i=0,j,k,female=0,male=1,x; for(;;i++){scanf("%d",&A[i]);if(A[i]==-1)break;}for(j=0;j<i;j++){female=0,male=1;for(k=1;k<A[j];k++){x=female;female=male;male=x+male+1;}printf("%d %d\n",male,female+male+1);}return 0;}8.Checksum algorithm#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){int i,n,t,j;char s[100][100];for(i=0;;i++){gets(s[i]);if(s[i][0]=='#') break;}n=i;for(i=0;i<n;i++){t=0;for(j=0;j<strlen(s[i]);j++)if(s[i][j]==32) t=t;else t=t+(j+1)*(s[i][j]-64);printf("%d\n",t);}return 0;}9.Coin Test#include <stdio.h>#include <stdlib.h>int main(){char A[100000];int n,i=0,a=0,b=0,j; double x;while(1){scanf("%c",&A[i]);if(A[i]=='\n')break;i++;}for(j=0;j<i;j++){if(A[j]=='S'){printf("WA");goto OH;}if(A[j]=='U')a++;if(A[j]=='D')b++;}x=a*1.0/(a+b)*1.0;if(x-0.5>0.003||x-0.5<-0.003) printf("Fail");elseprintf("%d/%d",a,a+b);OH:return 0;}10.Dexter need help#include <stdio.h>int fun(int a){if(a==1) return 1;elsereturn fun(a/2)+1;}int main(){int a,b[100],i=0,j; while(1){scanf("%d",&a);if(a==0)break;b[i]=fun(a);i++;}for(j=0;j<i;j++){printf("%d\n",b[j]); }return 0;}11.Double#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int a[100],b[100],i,j,n,t=0; for(i=0;;i++){scanf("%d",&a[i]);if(a[i]==0) break;}n=i;for(i=0;i<n;i++)b[i]=2*a[i];for(i=0;i<n;i++)for(j=0;j<n;j++)if(a[i]==b[j]) t++;printf("%d",t);return 0;}12.Easy problem#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int N,i,n,j=0;scanf("%d",&N);for(i=2;i<N+1;i++){if((N+1)%i==0)j++; }printf("%d",j/2);return 0;}13.Favorite number#include <stdio.h>#include <string.h>#define MAXNUM 100000int prime_number = 0;int prime_list[MAXNUM]; bool is_prime[MAXNUM];int ans[MAXNUM + 2];int dp[MAXNUM + 2];void set_prime() {int i, j;memset(is_prime, 0, sizeof(is_prime));for (i = 2; i < MAXNUM; i++) {if (is_prime[i] == 0) {prime_list[prime_number++] = i;if (i >= MAXNUM / i) continue;for (j = i * i; j < MAXNUM; j+=i) { is_prime[j] = 1;}}}}int main() {int i, j, k,o=0,d[100];memset(dp, -1, sizeof(dp));set_prime();ans[0] = 0;dp[1] = 0;for (i = 1; i <= MAXNUM; i++) {ans[i] = ans[i - 1] + dp[i];if (dp[i + 1] == -1 || dp[i + 1] > dp[i] + 1) {dp[i + 1] = dp[i] + 1;}for (j = 0; j < prime_number; j++) {if (i > MAXNUM / prime_list[j]) break; k = i * prime_list[j];if (dp[k] == -1 || dp[k] > dp[i] + 1) { dp[k] = dp[i] + 1;}}}while (scanf("%d%d", &i, &j) == 2 && (i || j)) { d[o]=ans[j] - ans[i - 1];o++;}for(i=0;i<o;i++)printf("%d\n",d[i]);}14.Graveyard#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int a[100],b[100],n,i,j;double s,p,l,t;for(i=0;;i++){scanf("%d%d",&a[i],&b[i]);if(a[i]==0&&b[i]==0) break;}n=i;for(i=0;i<n;i++){p=10000;if(b[i]%a[i]==0){printf("0.0000\n");continue;}; t=10000/((double)a[i]);for(j=1;j<a[i]+b[i];j++){l=10000/((double)(a[i]+b[i]));l=t-j*l;l=fabs(l);if(l<p) p=l;}s=(a[i]-1)*p;printf("%.4lf\n",s); }return 0;}15.Hailstone#include <stdio.h>#include <stdlib.h>#include <string.h>int f(int n){int s=1;while(1){if(n==1) return s;else if(n%2==0) n=n/2,s++; else n=3*n+1,s++;}}int main(){int n,m,i,j=0,t;scanf("%d%d",&m,&n);printf("%d %d",m,n);if(m>n) t=m,m=n,n=t;for(i=m;i<=n;i++)if(f(i)>j) j=f(i);printf(" %d",j);return 0;}16.Hanoi Ⅱ#include <stdio.h>#include <stdlib.h>#define M 70int start[M], targe[M];long long f(int *p, int k, int fina) {if(k==0) return 0;if(p[k]==fina) return f(p,k-1,fina);return f(p,k-1,6-fina-p[k])+(1LL<<(k-1));}int main (){long long ans;int n;while(scanf("%d",&n),n){int i;for(i=1;i<=n;i++) scanf("%d",&start[i]);for(i=1;i<=n;i++) scanf("%d",&targe[i]);int c=n;for(;c>=1&&start[c]==targe[c];c--);if(c==0){printf("0\n"); continue;}int other=6-start[c]-targe[c];ans=f(start,c-1,other)+f(targe,c-1,other)+1; printf("%lld\n",ans);}return 0;}17.Houseboat#include <stdio.h>#include <stdlib.h>#include <math.h>#define pi 3.1415926int f(float x,float y){int i;for(i=0;;i++)if(50*i>sqrt(x*x+y*y)*sqrt(x*x+y*y)*pi/2) break;return i;}int main(){int n,i,a[100];float x,y;scanf("%d",&n);for(i=0;i<n;i++){scanf("%f%f",&x,&y);a[i]=f(x,y);}for(i=0;i<n;i++)printf("%d %d\n",i+1,a[i]);return 0;}18.Music Composer19.Redistribute wealth#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){inta[1000],b[1000],n,i,j,s,sum,t,m,mid,c[100],k=0; while(1){scanf("%d",&n);if(n==0) break;{s=0;for(i=1;i<=n;i++){scanf("%d",&a[i]);s=s+a[i];}m=s/n;b[1]=a[1]-m;b[0]=0;for(i=2;i<n;++i)b[i]=b[i-1]+a[i]-m;for(i=0;i<n;i++)for(j=0;j<n-1-i;j++)if(b[j]>b[j+1])t=b[j],b[j]=b[j+1],b[j+1]=t;mid=b[n/2];sum=0;for(i=0;i<=n-1;++i) sum=sum+fabs(mid-b[i]); c[k]=sum;k++;}}for(i=0;i<k;i++) printf("%d\n",c[i]);return 0;}20.Road trip#include <stdio.h>#include <stdlib.h>#include <math.h>int f(int n){int a[100],b[100],i,s;for(i=0;i<n;i++)scanf("%d%d",&a[i],&b[i]); s=a[0]*b[0];for(i=1;i<n;i++)s=s+a[i]*(b[i]-b[i-1]);return s;}int main(){int n,c[100],i=0;while(1){scanf("%d",&n);if(n==-1) break;c[i]=f(n);i++;}n=i;for(i=0;i<n;i++)printf("%d\n",c[i]);return 0;}21.Scoring#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){int i,j,sum,min,c,count,n,a,b; char s1[50],s2[50];scanf("%d",&n);for(i=0;i<n;i++){count=sum=0;scanf("%s",s2);for(j=0;j<4;j++){scanf("%d%d",&a,&b);if(b!=0){sum+=(a-1)*20+b;count++;}}if(i==0){c=count,min=sum;strcpy(s1,s2);}else if(count>c||(count==c&&sum<min)) {min=sum;c=count;strcpy(s1,s2);}}printf("%s %d %d\n",s1,c,min); return 0;}22.Specialized Numbers#include <stdio.h>#include <stdlib.h>int main(){int i,n,sum10,sum12,sum16;for(i=2992;i<3000;i++){n=i;sum10=0;while(n){sum10+=n%10;n/=10;}n=i;sum12=0;while(n){sum12+=n%12;n/=12;}n=i;sum16=0;while(n){sum16+=n%16;n/=16;}if(sum10==sum12&&sum12==sum16) printf("%d\n",i);}return 0;}23.Sticks#include <stdio.h>#include <string.h>#include <stdlib.h>int len[64], n, minlen, get;bool b[64];int cmp(const void *a, const void *b){return *(int *)a < *(int *)b ? 1 : -1;}bool dfs(int nowlen, int nowget, int cnt){if(cnt >= n) return false;if(get == nowget) return true;int i;bool f = false;if(nowlen == 0) f = true;for(i = cnt; i < n; i++){if(!b[i]){if(len[i] + nowlen == minlen) {b[i] = true;if(dfs(0, nowget+1, nowget)) return true;b[i] = false;return false;}else if(len[i] + nowlen < minlen){b[i] = true;if(dfs(nowlen+len[i], nowget, i+1)) return true;b[i] = false;if(f) return false;while(i + 1 < n && len[i] == len[i+1]) i++;}}}return false;}int main(){int i, tollen;while(scanf("%d", &n), n){tollen = 0;int j = 0, p;for(i = 0; i < n; i++){scanf("%d", &p);if(p <= 50){len[j] = p;tollen += len[j];j++;}}n = j;if(n == 0){printf("0\n");continue;}qsort(len, n, sizeof(int), cmp); for(minlen = len[0]; ; minlen++) {if(tollen % minlen) continue; memset(b, 0, sizeof(b));get = tollen / minlen;if(dfs(0, 0, 0)){printf("%d\n", minlen);break;}}}return 0;}24.Sum of Consecutive#include <stdio.h>#include <stdlib.h>#include <string.h>int len[64],n,minlen,get;int b[64];int cmp(const void *a,const void *b){return *(int *)a<*(int *)b?1:-1;}int dfs(int nowlen,int nowget,int cnt){if(cnt>=n) return 0;if(get==nowget) return 1;int i,f=0;if(nowlen==0) f=1;for(i=cnt;i<n;i++){if(len[i]+nowlen==minlen){b[i]=1;if(dfs(0,nowget+1,nowget)) return 1;b[i]=0;return 0;}else if(len[i]+nowlen<minlen){b[i]=1;if(dfs(nowlen+len[i],nowget,i+1)) return 1;b[i]=0;if(f) return 0;while(i+1<n&&len[i]==len[i+1]) i++;}}return 0;}int main(){int i,tollen,q=0,c[100];while(scanf("%d",&n),n){tollen=0;int j=0,p;for(i=0;i<n;i++){scanf("%d",&p);if(p<=50){len[j]=p;tollen+=len[j];j++;}}n=j;if(n==0){printf("0\n");continue;}qsort(len,n,sizeof(int),cmp); for(minlen=len[0];;minlen++){if(tollen%minlen) continue; memset(b,0,sizeof(b));get=tollen/minlen;if(dfs(0,0,0)){c[q]=minlen;q++;break;}}}for(i=0;i<q;i++)printf("%d\n",c[i]);return 0;}25.Symmetric Sort#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){double A[100];int i=0,j=0,k=0,l=0,sum=0; while(1){scanf("%lf",&A[i]);if(A[i]==0)break;i++;}for(j=0;j<i;j++){if(A[j]==2)printf("1\n");else{int B[10000],m=1,number=0;double n;B[0]=2;for(k=3;k<=A[j];k+=2){n=(double)k;for(l=2;l<=sqrt(n);l++){if(k%l==0)goto ai;}B[m]=k;m++;ai:;}for(k=0;k<m;k++){sum=0;for(l=k;l<m;l++){sum+=B[l];if(sum==A[j]){number++;break;}}}printf("%d\n",number);}}return 0;}26.The Clock#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){char s[100][100],a[100];int i,j,n;scanf("%d",&n);for(i=0;i<n;i++) scanf("%s",s[i]);for(i=0;i<n-1;i++)for(j=0;j<n-1-i;j++)if(strlen(s[i])>strlen(s[i+1]))strcpy(a,s[i]),strcpy(s[i],s[i+1]),strcpy(s[i+1],a) ;if(n%2==0){for(i=0;i<n-1;i=i+2) printf("%s ",s[i]);printf("%s ",s[n-1]);for(i=i-3;i>0;i=i-2) printf("%s ",s[i]);}else{for(i=0;i<n-1;i=i+2) printf("%s ",s[i]); printf("%s ",s[n-1]);for(i=i-1;i>0;i=i-2) printf("%s ",s[i]); }return 0;}27.The Ratio of gainers to losers#include<stdio.h>int main(){char s[5];int i,sum=0;gets(s);for(i=0;s[i]!='\0';i++){switch(s[i]){case'I': sum+=1;break;case'V': sum=5-sum;break; case'X':sum=10-sum;break; }}printf("%d\n",sum);return 0;}28.VOL大学乒乓球比赛#include <stdio.h>#include <stdlib.h>int main(){printf("A=Z\nB=X\nC=Y\n"); return 0;}29.毕业设计论文打印#include <stdio.h>#include <stdlib.h>int main(){int a[100],j=1,i,n,m;scanf("%d%d",&n,&m);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<n;i++)if(a[i]>a[m]) j++;printf("%d",j++);return 0;}30.边沿与内芯的差#include <stdio.h>#include <stdlib.h>int main(){int A[100][100],i,j,m,n,s=0,t=0; scanf("%d%d",&n,&m);for(i=1;i<=n;i++){for(j=1;j<=m;j++){scanf("%d",&A[i][j]);。
第4章 作业参考答案
2 j 6
(K1 100)
j
-2+j4
由 dK* 0
ds
-4
0
解得 s1、2= 2,s3、4= 2±j 6
K1
j 10 (K1 260)
习题4-5 (1) K1>0时,根轨迹中的两个分
支始终位于s 右半平面,系统 不稳定;
(2) 增加一个零点z = 1之后,根 轨迹左移,根轨迹中的三个 分支始终位于s 左半平面,系 统稳定。
第4章 作业参考答案
习题4-3 (1) 分离点: d=-4.24
(2) 分离点:
K* (s4 8s3 36s2 18s 80)
Imaginary Axis
Root Locus
2.5 2
1.5 1
0.5 0
-0.5 -1
-1.5 -2
-2.5 -7 -6 -5 -4 -3 -2 -1 0 1 Real Axis
习题4-12
r
(s)
C(s) R(s)
s(s
K1 (s 2) 5)(s 5) K1 (s
2)
n (s)
C(s) N (s)
(s 2() s 5)(s 5) s(s 5)(s 5) K1 (s
2)
闭环特征方程 D(s) s(s 5)(s 5) K1 (s 2) 0
等效开环传递函数
Gk (s)
K1 (s 2) s(s 5)(s 5)
G1 (s)G2 (s)
分离点 d1=2.2
对于 r (s) 和 n (s) ,
尽管开环传递函数和闭环
极点相同而闭环零点不同, 但是却具有相同的根轨迹。
a=10
a=9
a=8
a=3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4
3
12
1 x2 7 x 66
将 x 2 代入 L2 (x) ,得到 2 的近似值为 1.6667 。 2. 解:如果得到 x f 1( y) 的插值多项式,则该多项式的常数项就是 f (x) 0 的根的近似值,这种方
法被称为反插值法,利用上述数据,得到的反插值公式为:
x (y 1)(y 1) (1) (y 2)(y 1) 0
当 t [0,1] , max t(t 1) max t(1 t) max(t t2 ) ,当 t 1 , max t(t 1) 1 ,因此有
2
4
R 0.8415 h2 1 104
8
2
解得 h 0.0218 ,需要将区间至少 92 等分,总共 93 个节点。
5. 证明:基于 n 1个节点的不超过 n 次的 Lagrange 多项式为
)( x
2
)
1 24
cos( )x2 (x
)( x
2
)。
4. 解: 当 xi x xi1, (i 0,1, 2,, n 1) ,分段线性插值的截断误差公式为:
R
1 2!
f
(
)( x
xi
)( x
xi 1 )
R
1 2!
f
(
)( x
xi
)( x
xi 1 )
max
f ( )
1 2!
(
x
xi
)(
4 3
;
回代得到
p3 ( x)
2
x
1
4 3
(x
0)( x
)(x 2
)
。
化简得到
p3 ( x)
4 3
x3
6 2
x2
1。
方法 2:重节点牛顿差商法
根据插值条件,构造重节点的差商表如下:
xi
f (xi )
一阶差商
二阶差商
0
1
-------
-------
0
1
0
-------
2
0
2
4
2
1
2
0
三阶差商 -------------------
采用 Lagrange 二次插值时,三个插值基函数分别为:
l0 ( x)
(x ( x0
x1)( x x2 ) x1)( x0 x2 )
=
(x (0
1)(x 1)(0
4) 4)
;
l1(
x)
(x ( x1
x0 x0
)(x x2 ) )( x1 x2 )
=
(x (1
0)(x 4) 0)(1 4)
第四章 函数插值参考解答
1. 解:在采用线性 Lagrange 插值时,最好选择 x0 1 和 x1 4 为插值节点,则
l0 (x)
x4; 1 4
l1(x)
x 1; 4 1
因此得到的线性插值多项式 L1(x) 为
L1( x)
x4 1 4
1
x 4
1 1
2=
x
3
2
将 x 3 代入 L1(x) ,得到 2 的近似值为 1.3333 ;
x
xi
1
)
令
M2
max 1 x 1
f (x)
max sin x 1 x 1
sin1,则有 max
f ( )
M2
sin1 0.84151,进一步得到
R
0.8415 max 2
(x
xi )(x
xi 1 )
,利用坐标变换 x
xi
th,t [0,1]
max (x xi )(x xi1) max t(t 1) h2
(x )(x ) (x 0)(x )
(0
2
)(0
)
1
(
0)(
2
)
(1)
2
2
化简后的形式为:
p2 (x)
2
x
1;
满足所有插值条件的三次多项式 p3 (x) 可以假设为
p3 (x)
p2 (x)
A(x 0)(x
)(x ) 2
利用导数插值条件
p3 '(0)
f
'(0) ,可得到参数的值 A
x L2 ( y) l0 ( y) x0 l1 ( y) x1 l2 ( y) x2
(2 1)(2 1) (y 2)(y 1) 1
(1 2)(11) ;
(1 2)(11)
化简该公式得到 x 1 ( y2 3y 4) , 6
或 x 0.16667 y2 0.5y 0.66667 ; 故得到 f (x) 0 在区间 (0,1) 内根的近似值 * 0.6667。
3. 解:根据题意,可知本题的插值条件为
xi
0
2
f (xi )
1
0
1
f '(xi )
0
方法 1:待定系数法
不考虑导数插值条件,满足 3 个函数插值条件的二次 Lagrange 插值多项式 p2 (x) 为
p2 (x) L2 (x) l0 (x) y0 l1(x) y1 l2 (x) y2
4 3
则满足题中插值条件的牛顿插值多项式为:
p3 ( x)
1
4 2
x2
4 3
x2(x
), 2
化简得到
p3 ( x)
4 3
x3
6 2
x2
1
或0.1290 x3
0.6079x2
ห้องสมุดไป่ตู้
1。
考虑到 y cos x 的四阶导函数存在,则 Lagrange 形式的插值余项为
R3 (x)
1 4!
f
(4) ( )x2 (x
⋯
用 Ln (x) 近似 y f (x) 的插值余项为
1!
⋯
当 n 1时,对常值函数 f (x) 1 ,在任意点 x [x0 , xn ] 上,必然有 Rn (x) 0 ,即
1
⋯
⋯
上式证明 Lagrange 基函数具有单位分解特性。
;
l1(
x)
(x ( x2
x0 )( x x1) x0 )( x2 x1)
=
(x (4
0)( x 0)(4
1) 1)
;
因此得到的二次插值多项式 L2 (x) 为 L2 (x) l0 (x) y0 l1 (x) y1 l2 (x) y2
1 (x 1)(x 4) 0 1 x(x 4) 1 1 x(x 1) 2