《Python程序设计基础》习题答案与分析课件

《Python程序设计基础》习题答案与分析课件
《Python程序设计基础》习题答案与分析课件

Python程序设计基础习题答案与分析

程昱

第1章基础知识

1.1 简单说明如何选择正确的Python版本。

答:

在选择Python的时候,一定要先考虑清楚自己学习Python的目的是什么,打算做哪方面的开发,有哪些扩展库可用,这些扩展库最高支持哪个版本的Python,是Python 2.x还是Python 3.x,最高支持到Python 2.7.6还是Python 2.7.9。这些问题都确定以后,再做出自己的选择,这样才能事半功倍,而不至于把大量时间浪费在Python的反复安装和卸载上。同时还应该注意,当更新的Python版本推出之后,不要急于更新,而是应该等确定自己所必须使用的扩展库也推出了较新版本之后再进行更新。

尽管如此,Python 3毕竟是大势所趋,如果您暂时还没想到要做什么行业领域的应用开发,或者仅仅是为了尝试一种新的、好玩的语言,那么请毫不犹豫地选择Python 3.x系列的最高版本(目前是Python 3.4.3)。

1.2 为什么说Python采用的是基于值的内存管理模式?

Python采用的是基于值的内存管理方式,如果为不同变量赋值相同值,则在内存中只有一份该值,多个变量指向同一块内存地址,例如下面的代码。

>>> x = 3

>>> id(x)

10417624

>>> y = 3

>>> id(y)

10417624

>>> y = 5

>>> id(y)

10417600

>>> id(x)

10417624

>>> x = [1, 2, 3, 1, 1, 2]

>>> id(x[0])==id(x[3])==id(x[4])

True

1.3 解释Python中的运算符“/”和“//”的区别。

答:

在Python 2.x中,“/”为普通除法,当两个数值对象进行除法运算时,最终结果的精度与操作数中精度最高的一致;在Python 3.x中,“/”为真除法,与除法的数学含义一致。

在Python 2.x和Python 3.x中,“//”表示整除,对整数或浮点数进行该运算时,结果为数学除法的整数部分。

1.4 在Python中导入模块中的对象有哪几种方式?

答:常用的有三种方式,分别为

●import 模块名[as 别名]

●from 模块名import 对象名[ as 别名]

●from math import *

1.5 pip 是目前比较常用的Python扩展库管理工具。

1.6 解释Python脚本程序的“__name__”变量及其作用。

答:

每个Python脚本在运行时都有一个“__name__”属性。如果脚本作为模块被导入,则其“__name__”属性的值被自动设置为模块名;如果脚本独立运行,则其“__name__”属性值被自动设置为“__main__”。利用“__name__”属性即可控制Python程序的运行方式。

1.7 运算符“%”可以(可以、不可以)对浮点数进行求余数操作。

1.8 一个数字“5”是(是、不是)合法的Python表达式。

1.9 在Python

2.x中,input()函数接收到的数据类型由界定符确定,而在Python

3.x中该函数则认为接收到的用户输入数据一律为字符串。

1.10 编写程序,用户输入一个三位以上的整数,输出其百位以上的数字。例如用户输入1234,则程序输出12。(提示:使用整除运算。)

答:

1)Python 3.4.2代码:

x = input('Please input an integer of more than 3 digits:')

try:

x = int(x)

x = x//100

if x == 0:

print('You must input an integer of more than 3 digits.')

else:

print(x)

except BaseException:

print('You must input an integer.')

2)Python 2.7.8代码:

import types

x = input('Please input an integer of more than 3 digits:')

if type(x) != types.IntType:

print 'You must input an integer.'

elif len(str(x)) != 4:

print 'You must input an integer of more than 3 digits.' else:

print x//100

第2章Python序列

2.1 为什么应尽量从列表的尾部进行元素的增加与删除操作?

答:

当列表增加或删除元素时,列表对象自动进行内存扩展或收缩,从而保证元素之间没有缝隙,但这涉及到列表元素的移动,效率较低,应尽量从列表尾部进行元素的增加与删除操作以提高处理速度。

2.2 range()函数在Python 2.x中返回一个包含整数的列表,而Python

3.x的range()函数返回一个可迭代的range对象。

2.3 编写程序,生成包含1000个0到100之间的随机整数,并统计每个元素的出现次数。

答:可以使用集合来实现该功能。

1)Python 3.4.2代码

import random

x = [random.randint(0,100) for i in range(1000)]

d = set(x)

for v in d:

print(v, ':', x.count(v))

2)Python 2.7.8代码

import random

x = [random.randint(0,100) for i in range(1000)]

d = set(x)

for v in d:

print v, ':', x.count(v)

也可以直接使用字典来实现该功能,并且获得更高的执行效率,例如下面的Python 3.4.2代码:

listRandom = [random.randint(1,100) for i in range(1000000)]

d = dict()

start = time.time()

for i in listRandom: #对随机数列表扫描一次,即可得到结果

d[i] = d.get(i,0)+1

print(time.time()-start)

2.4 表达式“[3] in [1, 2, 3, 4]”的值为False 。

2.5 编写程序,用户输入一个列表和2个整数作为下标,然后输出列表中介于2个下标

之间的元素组成的子列表。例如用户输入[1, 2, 3, 4, 5, 6]和2,5,程序输出[3, 4, 5, 6]。

答:

1)Python 3.4.2代码

x = input('Please input a list:')

x = eval(x)

start, end = eval(input('Please input the start position and the end position:'))

print(x[start:end])

2)Python 2.7.8代码

x = input('Please input a list:')

start, end = input('Please input the start position and the end position:')

print x[start:end]

2.6 列表对象的sort()方法用来对列表元素进行原地排序,该函数返回值为None 。

2.7 列表对象的remove() 方法删除首次出现的指定元素,如果列表中不存在要删除的元素,则抛出异常。

2.8 假设列表对象aList的值为[3, 4, 5, 6, 7, 9, 11, 13, 15, 17],那么切片aList[3:7]得到的值是[6, 7, 9, 11] 。

2.9 设计一个字典,并编写程序,用户输入内容作为“键”,然后输出字典中对应的“值”,如果用户输入的“键”不存在,则输出“您输入的键不存在!”

答:

1)Python 3.4.2代码

d = {1:'a', 2:'b', 3:'c', 4:'d'}

v = input('Please input a key:')

v = eval(v)

print(d.get(v,'您输入的的键不存在'))

2)Python 2.7.8代码

d = {1:'a', 2:'b', 3:'c', 4:'d'}

v = input('Please input a key:')

print(d.get(v,'您输入的的键不存在'))

2.10 编写程序,生成包含20个随机数的列表,然后将前10个元素升序排列,后10个元素降序排列,并输出结果。

答:

1)Python 3.4.2代码

import random

x = [random.randint(0,100) for i in range(20)]

print(x)

y = x[0:10]

y.sort()

x[0:10] = y

y = x[10:20]

y.sort(reverse=True)

x[10:20] = y

print(x)

2)Python 2.7.8代码

import random

x = [random.randint(0,100) for i in range(20)]

print x

y = x[0:10]

y.sort()

x[0:10] = y

y = x[10:20]

y.sort(reverse=True)

x[10:20] = y

print x

2.11 在Python中,字典和集合都是用一对大括号作为界定符,字典的每个元素有两部分组成,即“键”和“值”,其中“键”不允许重复。

2.12 使用字典对象的items() 方法可以返回字典的“键-值对”列表,使用字典对象的keys() 方法可以返回字典的“键”列表,使用字典对象的values() 方法可以返回字典的“值”列表。

2.13 假设有列表a = ['name', 'age', 'sex']和b = ['Dong', 38, 'Male'],请使用一个语句将这两个列表的内容转换为字典,并且以列表a中的元素为“键”,以列表b中的元素为“值”,这个语句可以写为 c = dict(zip(a,b)) 。

2.14 假设有一个列表a,现要求从列表a中每3个元素取1个,并且将取到的元素组成新的列表b,可以使用语句 b = a[::3] 。

2.15 使用列表推导式生成包含10个数字5的列表,语句可以写为[5 for i in range(10)] 。

2.16 不可以(可以、不可以)使用del命令来删除元组中的部分元素。

第3章选择与循环

3.1 分析逻辑运算符“or”的短路求值特性。

答:

假设有表达式“表达式1 or 表达式2”,如果表达式1的值等价于True,那么无论表达式2的值是什么,整个表达式的值总是等价于True。因此,不需要再计算表达式2的值。

3.2 编写程序,运行后用户输入4位整数作为年份,判断其是否为闰年。如果年份能被400整除,则为闰年;如果年份能被4整除但不能被100整除也为闰年。

答:

1)Python 3.4.2代码

x = input('Please input an integer of 4 digits meaning the year:')

x = eval(x)

if x%400==0 or (x%4==0 and not x%100==0):

print('Yes')

else:

print('No')

2)Python 2.7.8代码

x = input('Please input an integer of 4 digits meaning the year:')

if x%400==0 or (x%4==0 and not x%100==0):

print 'Yes'

else:

print 'No'

3.3 Python提供了两种基本的循环结构:for循环和while循环。

3.4 编写程序,生成一个包含50个随机整数的列表,然后删除其中所有奇数。(提示:从后向前删。)

答:Python 3.4.2代码如下,

import random

x = [random.randint(0,100) for i in range(50)]

print(x)

i = len(x)-1

while i>=0:

if x[i]%2==1:

del x[i]

i-=1

print(x)

3.5 编写程序,生成一个包含20个随机整数的列表,然后对其中偶数下标的元素进行降序排列,奇数下标的元素不变。(提示:使用切片。)

答:Python 3.4.2代码如下,

import random

x = [random.randint(0,100) for i in range(20)]

print(x)

y = x[::2]

y.sort(reverse=True)

x[::2] = y

print(x)

3.6 编写程序,用户从键盘输入小于1000的整数,对其进行因式分解。例如,10=2×5,60=2×2×3×5。

答:

1)Python 3.4.2代码

x = input('Please input an integer less than 1000:')

x = eval(x)

t = x

i = 2

result = []

while True:

if t==1:

break

if t%i==0:

result.append(i)

t = t/i

else:

i+=1

print(x,'=','*'.join(map(str,result)))

2)Python 2.7.8代码

x = input('Please input an integer less than 1000:')

t = x

i = 2

result = []

while True:

if t==1:

break

if t%i==0:

result.append(i)

t = t/i

else:

i+=1

print x,'=','*'.join(map(str,result))

3.7 编写程序,至少使用2种不同的方法计算100以内所有奇数的和。

答:Python 3.4.2代码如下,如果使用Python 2.7.8只需要把其中的print()函数改为print 语句即可。

x = [i for i in range(1,100) if i%2==1]

print(sum(x))

print(sum(range(1,100)[::2]))

3.8 编写程序,输出所有由1、2、3、4这四个数字组成的素数,并且在每个素数中每个数字只使用一次。

答:Python 3.4.2代码如下,

答:Python 3.4.2代码如下,如果使用Python 2.7.8只需要把其中的print()函数改为print 语句即可。

x = input('Please input x:')

x = eval(x)

if x<0 or x>=20:

print(0)

elif 0<=x<5:

print(x)

elif 5<=x<10:

print(3*x-5)

elif 10<=x<20:

print(0.5*x-2)

3.9 编写程序,实现分段函数计算,如下表所示。

x y

x<0 0

0<=x<5 x

5<=x<10 3x-5

10<=x<20 0.5x-2

20<=x 0

答:Python 3.4.2代码如下,如果使用Python 2.7.8只需要把其中的print()函数改为print 语句即可。

x = input('Please input x:')

x = eval(x)

if x<0 or x>=20:

print(0)

elif 0<=x<5:

print(x)

elif 5<=x<10:

print(3*x-5)

elif 10<=x<20:

print(0.5*x-2)

第4章字符串与正则表达式

4.1 假设有一段英文,其中有单独的字母“I”误写为“i”,请编写程序进行纠正。

答:这里给出Python 3.4.2代码,如果使用Python 2.7.8的话只需要修改其中的print()函数为print语句即可。

1)不使用正则表达式

x = "i am a teacher,i am man, and i am 38 years old.I am not a businessman."

x = x.replace('i ','I ')

x = x.replace(' i ',' I ')

print(x)

2)使用正则表达式

x = "i am a teacher,i am man, and i am 38 years old.I am not a businessman."

import re

pattern = https://www.360docs.net/doc/8d8426572.html,pile(r'(?:[^\w]|\b)i(?:[^\w])')

while True:

result = pattern.search(x)

if result:

if result.start(0) != 0:

x = x[:result.start(0)+1]+'I'+x[result.end(0)-1:]

else:

x = x[:result.start(0)]+'I'+x[result.end(0)-1:]

else:

break

print(x)

4.2 假设有一段英文,其中有单词中间的字母“i”误写为“I”,请编写程序进行纠正。

答:这里给出Python 3.4.2代码,如果使用Python 2.7.8的话只需要修改其中的print()函数为print语句即可。

import re

x = "I am a teacher,I am man, and I am 38 years old.I am not a busInessman."

print(x)

pattern = https://www.360docs.net/doc/8d8426572.html,pile(r'(?:[\w])I(?:[\w])')

while True:

result = pattern.search(x)

if result:

if result.start(0) != 0:

x = x[:result.start(0)+1]+'i'+x[result.end(0)-1:]

else:

x = x[:result.start(0)]+'i'+x[result.end(0)-1:]

else:

break

print(x)

4.3 有一段英文文本,其中有单词连续重复了2次,编写程序检查重复的单词并只保留一个。例如文本内容为“This is is a desk.”,程序输出为“This is a desk.”

答:这里给出Python 3.4.2代码,如果使用Python 2.7.8的话只需要修改其中的print()函数为print语句即可。

1)方法一

import re

x = 'This is a a desk.'

pattern = https://www.360docs.net/doc/8d8426572.html,pile(r'\b(\w+)(\s+\1){1,}\b')

matchResult = pattern.search(x)

x = pattern.sub(matchResult.group(1),x)

print(x)

2)方法二

x = 'This is a a desk.'

pattern = https://www.360docs.net/doc/8d8426572.html,pile(r'(?P\b\w+\b)\s(?P=f)')

matchResult = pattern.search(x)

x = x.replace(matchResult.group(0),matchResult.group(1))

4.4 简单解释Python的字符串驻留机制。

答:

Python支持字符串驻留机制,即:对于短字符串,将其赋值给多个不同的对象时,内存中只有一个副本,多个对象共享该副本。这一点不适用于长字符串,即长字符串不遵守驻留机制,下面的代码演示了短字符串和长字符串在这方面的区别。

>>> a = '1234'

>>> b = '1234'

>>> id(a) == id(b)

True

>>> a = '1234'*50

>>> b = '1234'*50

>>> id(a) == id(b)

False

4.5 编写程序,用户输入一段英文,然后输出这段英文中所有长度为3个字母的单词。

答:这里给出Python 3.4.2代码,如果使用Python 2.7.8的话只需要修改其中的print()函数为print语句即可。

import re

x = input('Please input a string:') pattern = https://www.360docs.net/doc/8d8426572.html,pile(r'\b[a-zA-Z]{3}\b') print(pattern.findall(x))

第5章函数设计与使用

5.1 运行5.3.1小节最后的示例代码,查看结果并分析原因。

答:原因是对于函数的默认值参数只会被处理一次,下次再调用函数并且不为默认值参数赋值时会继续使用上一次的结果,对于列表这样的结构,如果调用函数时为默认值参数的列表插入或删除了元素,将会得到保留,从而影响下一次调用。

5.2 编写函数,判断一个整数是否为素数,并编写主程序调用该函数。

答:这里给出Python 3.4.2代码,如果使用Python 2.7.8的话只需要修改其中的print()函数为print语句即可。

import math

def IsPrime(v):

n = int(math.sqrt(v)+1)

for i in range(2,n):

if v%i==0:

return 'No'

else:

return 'Yes'

print(IsPrime(37))

print(IsPrime(60))

print(IsPrime(113))

5.3 编写函数,接收一个字符串,分别统计大写字母、小写字母、数字、其他字符的个数,并以元组的形式返回结果。

答:这里给出Python 3.4.2代码,如果使用Python 2.7.8的话只需要修改其中的print()函数为print语句即可。

def demo(v):

capital = little = digit = other =0

for i in v:

if 'A'<=i<='Z':

capital+=1

elif 'a'<=i<='z':

little+=1

elif '0'<=i<='9':

digit+=1

else:

other+=1

return (capital,little,digit,other)

x = 'capital = little = digit = other =0'

print(demo(x))

5.4 在函数内部可以通过关键字global 来定义全局变量。

5.5 如果函数中没有return语句或者return语句不带任何返回值,那么该函数的返回值为None 。

5.6 调用带有默认值参数的函数时,不能为默认值参数传递任何值,必须使用函数定义时设置的默认值。(对、错)

5.7 在Python程序中,局部变量会隐藏同名的全局变量吗?请编写代码进行验证。

答案:会。

>>> def demo():

a=3

print a

>>> a=5

>>> demo()

3

>>> a

5

5.8 lambda表达式只能用来创建匿名函数,不能为这样的函数起名字。(对、错)

5.9 编写函数,可以接收任意多个整数并输出其中的最大值和所有整数之和。

答:这里给出Python 3.4.2代码,如果使用Python 2.7.8的话只需要修改其中的print()函数为print语句即可。

def demo(*v):

print(v)

print(max(v))

print(sum(v))

demo(1,2,3)

demo(1,2,3,4)

demo(1,2,3,4,5)

5.10 编写函数,模拟内置函数sum()。

答:这里给出Python 3.4.2代码,如果使用Python 2.7.8的话只需要修改其中的print()函数为print语句即可。

def Sum(v):

s = 0

for i in v:

s += i

return s

x = [1,2,3,4,5]

print(Sum(x))

x = (1,2,3,4,5)

print(Sum(x))

5.11 包含yield 语句的函数可以用来创建生成器。

5.12 编写函数,模拟内置函数sorted()。

答:这里给出Python 3.4.2代码,如果使用Python 2.7.8的话只需要修改其中的print()函数为print语句即可。

def Sorted(v):

t = v[::]

r = []

while t:

tt = min(t)

r.append(tt)

t.remove(tt)

return r

x = [1,3,5,2,1,0,9,7]

print(x)

print(Sorted(x))

第6章面向对象程序设计

6.1 继承6.5节例2中的Person类生成Student类,填写新的函数用来设置学生专业,然后生成该类对象并显示信息。

答:Python 3.4.2代码为

import types

class Person(object): #基类必须继承于object,否则在派生类中将无法使用super()函数def __init__(self, name = '', age = 20, sex = 'man'):

self.setName(name)

self.setAge(age)

self.setSex(sex)

def setName(self, name):

if not isinstance(name,str):

print('name must be string.')

return

self.__name = name

def setAge(self, age):

if not isinstance(age,int):

print('age must be integer.')

return

self.__age = age

def setSex(self, sex):

if sex != 'man' and sex != 'woman':

print('sex must be "man" or "woman"')

return

self.__sex = sex

def show(self):

print(self.__name)

print(self.__age)

print(self.__sex)

class Student(Person):

def __init__(self, name='', age = 30, sex = 'man', major = 'Computer'):

#调用基类构造方法初始化基类的私有数据成员

super(Student, self).__init__(name, age, sex)

self.setMajor(major) #初始化派生类的数据成员

def setMajor(self, major):

if not isinstance(major, str):

print('major must be a string.')

return

self.__major = major

def show(self):

super(Student, self).show()

print(self.__major)

if __name__ =='__main__':

zhangsan = Person('Zhang San', 19, 'man')

zhangsan.show()

lisi = Student('Li Si',32, 'man', 'Math')

lisi.show()

6.2 设计一个三维向量类,并实现向量的加法、减法以及向量与标量的乘法和除法运算。

答:Python 3.4.2代码如下

class Vecter3:

def __init__(self, x=0, y=0, z=0):

self.X = x

self.Y = y

self.Z = z

def __add__(self, n):

r = Vecter3()

r.X = self.X + n.X

r.Y = self.Y + n.Y

r.Z = self.Z + n.Z

return r

def __sub__(self, n):

r = Vecter3()

r.X = self.X - n.X

r.Y = self.Y - n.Y

r.Z = self.Z - n.Z

return r

def __mul__(self, n):

r = Vecter3()

r.X = self.X * n

r.Y = self.Y * n

r.Z = self.Z * n

return r

def __truediv__(self, n):

r = Vecter3()

r.X = self.X / n

r.Y = self.Y / n

r.Z = self.Z / n

return r

def __floordiv__(self, n):

r = Vecter3()

r.X = self.X // n

r.Y = self.Y // n

r.Z = self.Z // n

return r

def show(self):

print((self.X,self.Y,self.Z))

v1 = Vecter3(1,2,3)

v2 = Vecter3(4,5,6)

v3 = v1+v2

v3.show()

v4 = v1-v2

v4.show()

v5 = v1*3

v5.show()

v6 = v1/2

v6.show()

6.3 面向对象程序设计的三要素分别为封装、继承和多态。

6.4 简单解释Python中以下划线开头的变量名特点。

答:

在Python中,以下划线开头的变量名有特殊的含义,尤其是在类的定义中。用下划线作为变量前缀和后缀来表示类的特殊成员:

●_xxx:这样的对象叫做保护变量,不能用'from module import *'导入,只有类对象

和子类对象能访问这些变量;

●__xxx__:系统定义的特殊成员名字;

●__xxx:类中的私有成员,只有类对象自己能访问,子类对象也不能访问到这个成

员,但在对象外部可以通过“对象名._类名__xxx”这样的特殊方式来访问。Python中没有纯粹的C++意义上的私有成员。

6.5 与运算符“**”对应的特殊方法名为__pow__() ,与运算符“//”对应的特殊方法名为__floordiv__() 。

6.6 假设a为类A的对象且包含一个私有数据成员“__value”,那么在类的外部通过对象a直接将其私有数据成员“__value”的值设置为3的语句可以写作 a._A__value 。

数值分析试题及答案汇总

数值分析试题 一、 填空题(2 0×2′) 1. ?? ????-=? ?????-=32,1223X A 设x =是精确值x *=的近似值,则x 有 2 位 有效数字。 2. 若f (x )=x 7-x 3+1,则f [20,21,22,23,24,25,26,27]= 1 , f [20,21,22,23,24,25,26,27,28]= 0 。 3. 设,‖A ‖∞=___5 ____,‖X ‖∞=__ 3_____, ‖AX ‖∞≤_15_ __。 4. 非线性方程f (x )=0的迭代函数x =?(x )在有解区间满足 |?’(x )| <1 ,则使用该迭代 函数的迭代解法一定是局部收敛的。 5. 区间[a ,b ]上的三次样条插值函数S (x )在[a ,b ]上具有直到 2 阶的连续导数。 6. 当插值节点为等距分布时,若所求节点靠近首节点,应该选用等距节点下牛顿差商 公式的 前插公式 ,若所求节点靠近尾节点,应该选用等距节点下牛顿差商公式的 后插公式 ;如果要估计结果的舍入误差,应该选用插值公式中的 拉格朗日插值公式 。 7. 拉格朗日插值公式中f (x i )的系数a i (x )的特点是:=∑=n i i x a 0)( 1 ;所以当 系数a i (x )满足 a i (x )>1 ,计算时不会放大f (x i )的误差。 8. 要使 20的近似值的相对误差小于%,至少要取 4 位有效数字。 9. 对任意初始向量X (0)及任意向量g ,线性方程组的迭代公式x (k +1)=Bx (k )+g (k =0,1,…)收 敛于方程组的精确解x *的充分必要条件是 ?(B)<1 。 10. 由下列数据所确定的插值多项式的次数最高是 5 。 11. 牛顿下山法的下山条件为 |f(xn+1)|<|f(xn)| 。 12. 线性方程组的松弛迭代法是通过逐渐减少残差r i (i =0,1,…,n )来实现的,其中的残差 r i = (b i -a i1x 1-a i2x 2-…-a in x n )/a ii ,(i =0,1,…,n )。 13. 在非线性方程f (x )=0使用各种切线法迭代求解时,若在迭代区间存在唯一解,且f (x )

数值分析习题与答案

第一章绪论 习题一?1.设x>0,x*的相对误差为δ,求f(x)=ln x的误差限。 解:求lnx的误差极限就是求f(x)=lnx的误差限,由公式(1.2.4)有 已知x*的相对误差满足,而 ,故 即 2.下列各数都是经过四舍五入得到的近似值,试指出它们有几位有效数字,并给出其误差限与相对误差限。 解:直接根据定义和式(1.2.2)(1.2.3)则得?有5位有效数字,其误差限,相对误差限 有2位有效数字, 有5位有效数字, 3.下列公式如何才比较准确? (1)?(2) 解:要使计算较准确,主要是避免两相近数相减,故应变换所给公式。

(1)?(2) 4.近似数x*=0.0310,是 3 位有数数字。 5.计算取,利用 :式计算误差最小。 四个选项: 第二、三章插值与函数逼近 习题二、三 1. 给定的数值表 用线性插值与二次插值计算ln0.54的近似值并估计误差限. 解:仍可使用n=1及n=2的Lagrange插值或Newto n插值,并应用误差估计(5.8)。线性插值时,用0.5及0.6两点,用Newton插值??误差限 ,因,

故? 二次插值时,用0.5,0.6,0.7三点,作二次Newton插值 ?误差限,故? 2. 在-4≤x≤4上给出的等距节点函数表,若用二次插值法求的近似值,要使误差不超过,函数表的步长h应取多少? 解:用误差估计式(5.8), ?令 因?得 3. 若,求和.

解:由均差与导数关系 ?于是 4. 若互异,求 的值,这里p≤n+1. 解:,由均差对称性 可知当有?而当P=n +1时 ?于是得 5. 求证. 解:解:只要按差分定义直接展开得 ? 6. 已知的函数表

泛函分析答案

泛函分析答案: 1、 所有元素均为0的n ×n 矩阵 2、 设E 为一线性空间,L 是E 中的一个子集,若对任意的x,y ∈L ,以及变数λ和μ均有λx +μy ∈L ,则L 称为线性空间E 的一个子空间。子空间心室包含零元素,因为当λ和μ均为0时,λx +μy =0∈L ,则L 必定含零元素。 3、 设L 是线性空间E 的子空间,x 0∈E\L,则集合x 0+L={x 0+l,l ∈L}称为E 中一个线性流形。 4、 设M 是线性空间E 中一个集合,如果对任何x,y ∈M ,以及λ+μ=1,λ≥0,μ≥0的 λ和μ,都有λx +μy ∈M ,则称M 为E 中的凸集。 5、 设x,y 是线性空间E 中的两个元素,d(x,y)为其之间的距离,它必须满足以下条件: (1) 非负性:d(x,y)>0,且d(x,y)=0<―――>x=y (2) d(x,y)=d(y,x) (3) 三角不等式:d(x,y)≤d(x,z)+d(y,z) for every x,y,z ∈E n 维欧几里德空间常用距离定义: 】 设x={x 1,x 2,…x n }T ,y={y 1y 2,…y n }T d 2(x,y)=( 21 ||n i i i x y =-∑)1/2 d 1(x,y)=1 ||n i i i x y =-∑ d p (x,y) = ( 1 ||n p i i i x y =-∑ )1/p d ∞(x,y)=1max ||i i i n x y ≤≤- 6、距离空间(x,d)中的点列{x n }收敛到x 0是指d(x n ,x 0)0(n ∞),这时记作 0lim n n x x -->∞ =,或 简单地记作x n x 0 7、设||x||是线性空间E 中的任何一个元素x 的范数,其须满足以下条件: (1)||x||≥0,且||x||=0 iff x=0 (2)||λx||=λ||x||,λ为常数 (3)||x+y||≤||x||+||y||,for every x,y ∈E 8、设E 为线性赋范空间,{x n }∞ n=1是其中的一个无穷列,如果对于任何ε>0,总存在自然数N ,使得当n>N,m>N 时,均有|x m -x n |<ε,则称序列{x n }是E 中的基本列。若E 的基本列的收敛元仍属于E ,则称E 为完备的线性赋范空间,即为Banach 空间。线性赋范空间中的基本列不一定收敛。 9、有限维的线性赋范空间必然完备,所以它必定是Banach 空间。 $ 10、如果内积空间能在由内积诱导的赋范空间完备,则此内积空间称为Hilbert 空间。 11、L 2(a,b )为定义在(a,b)上平方可积函数空间,即设f(t)∈L 2(a,b ), 2|()|b a f t dt ? <∞。 当 L 2(a,b )中内积的定义为(f,g )= _____ ()()b a f t g t dt ? (其中f(t),g(t)∈L 2(a,b ))时其为Hilbert 空间。 ★ 12、算子表示一种作用,一种映射。设X 和Y 是给定的两个线性赋范空间,集合D ?X , 若对D 中的每一个x ,均有Y 中的一个确定的变量y 与其对应,则说这种对应关系确定

数值分析试卷及答案

二 1 求A的LU分解,并利用分解结果求 解由紧凑格式 故 从而 故 2求证:非奇异矩阵不一定有LU分解 证明设非奇异,要说明A不一定能做LU分解,只需举出一个反例即可。现考虑矩阵,显然A为非奇异矩阵。若A有LU分解,则 故,而,显然不能同时成立。这矛盾说明A不能做LU分解,故只假定A非奇异并不能保证A能做LU分解,只有在A的前阶顺序主子式时才能保证A一定有LU分解。 3用追赶法求解如下的三对角方程组 解设有分解 由公式 其中分别是系数矩阵的主对角线元素及其下边和上边的次对角线元素,故有 从而有 故,,, 故,,, 4设A是任一阶对称正定矩阵,证明是一种向量范数 证明(1)因A正定对称,故当时,,而当时, (2)对任何实数,有 (3)因A正定,故有分解,则 故对任意向量和,总有 综上可知,是一种向量范数。 5 设,,已知方程组的精确解为 (1)计算条件数; (2)若近似解,计算剩余; (3)利用事后误差估计式计算不等式右端,并与不等式左边比较,此结果说明了什么?解(1) (2)

(3)由事后误差估计式,右端为 而左端 这表明当A为病态矩阵时,尽管剩余很小,误差估计仍然较大。因此,当A病态时,用大小作为检验解的准确度是不可靠的。 6矩阵第一行乘以一数成为,证明当时,有最小值 证明设,则 又 故 从而当时,即时,有最小值,且 7 讨论用雅可比法和高斯-赛德尔法解方程组时的收敛性。如果收敛,比较哪一种方法收敛较快,其中 解对雅可比方法,迭代矩阵 , 故雅可比法收敛。 对高斯-赛德尔法,迭代矩阵 ,故高斯-赛德尔法收敛。 因=故高斯-赛德尔法较雅可比法收敛快。 8设,求解方程组,求雅可比迭代法与高斯-赛德尔迭代法收敛的充要条件。 解雅可比法的迭代矩阵 , 故雅可比法收敛的充要条件是。 高斯-赛德尔法的迭代矩阵 , 故高斯-赛德尔法收敛的充要条件是。 9 设求解方程组的雅可比迭代格式为,其中,求证:若,则相应的高斯-赛德尔法收敛。证明由于是雅可比法的迭代矩阵,故 又,故, 即,故故系数矩阵A按行严格对角占优,从而高斯-赛德尔法收敛。 10设A为对称正定矩阵,考虑迭代格式 求证:(1)对任意初始向量,收敛; (2)收敛到的解。 证明(1)所给格式可化为 这里存在是因为,由A对称正定,,故也对称正定。 设迭代矩阵的特征值为,为相应的特征向量,则与做内积,有 因正定,故,从而,格式收敛。

数值分析复习题要答案

第一章 1、ln2=0.69314718…,精确到 10-3 的近似值是多少? 解 精确到 10-3=0.001,即绝对误差限是 e =0.05%,故至少要保留小数点后三位才可以。 ln2≈0.693。 2、设115.80,1025.621≈≈x x 均具有5位有效数字,试估计由这些数据计算21x x , 21x x +的绝对误差限 解:记126.1025, 80.115x x == 则有11232411 10, | 102|||2 x x x x --≤?-≤?- 所以 121212121212211122||||||||||||x x x x x x x x x x x x x x x x x x -=-+-+≤-- 3411 80.11610 6.10102522 0.007057-==??+≤?? 1212112243|()|||11 |10100.0005522 |x x x x x x x x --≤≤?+?=+-+-+- 3、一个园柱体的工件,直径d 为10.250.25mm,高h 为40.00 1.00mm,则它的体 积V 的近似值、误差和相对误差为多少。 解: ()() 22222222 4 314210254000000330064 221025400002510251002436444 3300624362436 0073873833006 , .....; ()()()......, ..().()..% .r d h V d h V mm d h V dh d d h V mm V V V πππππεεεεε= ≈=??===+=???+?==±====第二章: 1、分别利用下面四个点的Lagrange 插值多项式和Newton 插值多项式N 3(x ), 计算L 3(0.5)及N 3(-0.5) x -2 -1 0 1 f (x ) -1 1 2

泛函分析答案

泛函分析答案: 1、所有元素均为0的n ×n 矩阵 2、设E 为一线性空间,L 是E 中的一个子集,若对任意的x,y ∈L ,以及变数λ和μ均有λx +μy ∈L ,则L 称为线性空间E 的一个子空间。子空间心室包含零元素,因为当λ和μ均为0时,λx +μy =0∈L ,则L 必定含零元素。 3、设L 是线性空间E 的子空间,x 0∈E\L,则集合x 0+L={x 0+l,l ∈L}称为E 中一个线性流形。 4、设M 是线性空间E 中一个集合,如果对任何x,y ∈M ,以及λ+μ=1,λ≥0,μ≥0的λ和μ,都有λx +μy ∈M ,则称M 为E 中的凸集。 5、设x,y 是线性空间E 中的两个元素,d(x,y)为其之间的距离,它必须满足以下条件: (1) 非负性:d(x,y)>0,且d(x,y)=0<―――>x=y (2) d(x,y)=d(y,x) (3) 三角不等式:d(x,y)≤d(x,z)+d(y,z)foreveryx,y,z ∈E n 维欧几里德空间常用距离定义: 设x={x 1,x 2,…x n }T ,y={y 1y 2,…y n }T d 2(x,y)=(21 ||n i i i x y =-∑)1/2 d 1(x,y)=1 ||n i i i x y =-∑ d p (x,y)=(1 ||n p i i i x y =-∑)1/p d ∞(x,y)=1max ||i i i n x y ≤≤- 6、距离空间(x,d)中的点列{x n }收敛到x 0是指d(x n ,x 0)?0(n ?∞),这时记作 0lim n n x x -->∞ =,或简单地记作x n ?x 0 7、设||x||是线性空间E 中的任何一个元素x 的范数,其须满足以下条件: (1)||x||≥0,且||x||=0 iffx=0 (2)||λx||=λ||x||,λ为常数 (3)||x+y||≤||x||+||y||,foreveryx,y ∈E 8、设E 为线性赋范空间,{x n }∞n=1是其中的一个无穷列,如果对于任何ε>0,总存在自然数N ,使得当n>N,m>N 时,均有|x m -x n |<ε,则称序列{x n }是E 中的基本列。若E 的基本列的收敛元仍属于E ,则称E 为完备的线性赋范空间,即为Banach 空间。线性赋范空间中的基本列不一定收敛。 9、有限维的线性赋范空间必然完备,所以它必定是Banach 空间。 10、如果内积空间能在由内积诱导的赋范空间完备,则此内积空间称为Hilbert 空间。 11、L 2 (a,b )为定义在(a,b)上平方可积函数空间,即设f(t)∈L 2 (a,b ),2|()|b a f t dt ?<∞。

数值分析试卷及答案

二 1求A的LU分解,并利用分解结果求 解由紧凑格式 故 从而 故 2求证:非奇异矩阵不一定有LU分解 证明设非奇异,要说明A不一定能做LU分解,只需举出一个反例即可。现考虑矩阵,显然A为非奇异矩阵。若A有LU分解,则 故,而,显然不能同时成立。这矛盾说明A不能做LU分解,故只假定A非奇异并不能保证A能做LU分解,只有在A的前阶顺序主子式 时才能保证A一定有LU分解。

3用追赶法求解如下的三对角方程组 解设有分解 由公式 其中分别是系数矩阵的主对角线元素及其下边和上边的次对角线元素,故有 从而有 故,,, 故,,,

4设A是任一阶对称正定矩阵,证明是一种向量范数 证明(1)因A正定对称,故当时,,而当时, (2)对任何实数,有 (3)因A正定,故有分解,则 故对任意向量和,总有 综上可知,是一种向量范数。 5 设,,已知方程组的精确解为 (1)计算条件数; (2)若近似解,计算剩余; (3)利用事后误差估计式计算不等式右端,并与不等式左边比较,此结果说明了什么?解(1) (2) (3)由事后误差估计式,右端为 而左端

这表明当A为病态矩阵时,尽管剩余很小,误差估计仍然较大。因此,当A病态时,用大小作为检验解的准确度是不可靠的。 6矩阵第一行乘以一数成为,证明当时,有最小值 证明设,则 又 故 从而当时,即时,有最小值,且 7讨论用雅可比法和高斯-赛德尔法解方程组时的收敛性。如果收敛,比较哪一种方 法收敛较快,其中 解对雅可比方法,迭代矩阵 , 故雅可比法收敛。 对高斯-赛德尔法,迭代矩阵

,故高斯-赛德尔法收敛。 因=故高斯-赛德尔法较雅可比法收敛快。 8设,求解方程组,求雅可比迭代法与高斯-赛德尔迭代法收敛的充要条件。 解雅可比法的迭代矩阵 , 故雅可比法收敛的充要条件是。 高斯-赛德尔法的迭代矩阵 ,

(完整word版)泛函分析习题标准答案

第二章 度量空间 作业题答案提示 1、 试问在R 上,()()2,x y x y ρ=- 能定义度量吗? 答:不能,因为三角不等式不成立。如取 则有(),4x y ρ=,而(),1x z ρ=,(),1z x ρ= 2、 试证明:(1)()1 2 ,x y x y ρ= -;(2)(),1x y x y x y ρ-= +-在R 上都定 义了度量。 证:(1)仅证明三角不等式。注意到 2 11 22x y x z z y x z z y ?? -≤-+-≤-+- ? ?? 故有1 112 22 x y x z z y -≤-+- (2)仅证明三角不等式 易证函数()1x x x ?=+在R +上是单调增加的, 所 以 有 ()() a b a b ??+≤+,从而有 1111a b a b a b a b a b a b ++≤≤+ ++++++ 令,,x y z R ?∈,令,a z x b y z =-=- 即111y x z x y z y x z x y z ---≤+ +-+-+-

4.试证明在[]b a C ,1 上,)12.3.2()()(),(?-=b a dt t y t x y x ρ 定义了度量。 证:(1)0)()(0),(≡-?=t y t x y x ρ(因为x,y 是连续函数) 0),(≥y x ρ及),(),(x y y x ρρ=显然成立。 []) ,(),()()()()()()()()()()(),()2(y z z x dt t y t z dt t z t x dt t y t z dt t z t x dt t y t x y x b a b a b a b a ρρρ+≤-+-≤-+-≤-=???? 5.试由Cauchy-Schwarz 不等式证明 ∑∑==≤?? ? ??n i i n i i x n x 12 2 1 证:∑∑∑∑=====?≤?? ? ??n i i n i n i i n i i x n x x 12 12 122 11 8.试证明下列各式都在度量空间()11,ρR 和()21,R R 的Descartes 积 21R R R ?=上定义了度量 {}2 12/1222121,max ~~)3(;)(~)2(;)1(ρρρρρρρρρ=+=+= 证:仅证三角不等式。(1)略。 (2) 设12(,)x x x =,12(,)y y y =12R R ∈?,则

数值分析习题集及答案[1].(优选)

数值分析习题集 (适合课程《数值方法A 》和《数值方法B 》) 长沙理工大学 第一章 绪 论 1. 设x >0,x 的相对误差为δ,求ln x 的误差. 2. 设x 的相对误差为2%,求n x 的相对误差. 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. 求方程2 5610x x -+=的两个根,使它至少具有四位有效数字27.982). 8. 当N 充分大时,怎样求2 1 1N dx 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. 计算6 1)f =, 1.4≈,利用下列等式计算,哪一个得到的结果最好? 3 -- 13. ()ln(f x x =,求f (30)的值.若开平方用六位函数表,问求对数时误差有多大?若

泛函分析习题解答

第七章 习题解答 1.设(X ,d )为一度量空间,令 }),(,|{),(},),(,|{),(0000εεεε≤∈=<∈=x x d X x x x S x x d X x x x U 问),(0εx U 的闭包是否等于),(0εx S ? 解 不一定。例如离散空间(X ,d )。)1,(0x U ={0x },而)1,(0x S =X 。 因此当X 多于两点时,)1,(0x U 的闭包不等于)1,(0x S 。 2. 设 ],[b a C ∞是区间],[b a 上无限次可微函数的全体,定义 证明],[b a C ∞按),(g f d 成度量空间。 证明 (1)若),(g f d =0,则) ()(1)()(max ) () ()()(t g t f t g t f r r r r b t a -+-≤≤=0,即f=g (2))()(1)()(max 2 1 ),()()()()(0t g t f t g t f g f d r r r r b t a r r -+-=≤≤∞ =∑ =d (f ,g )+d (g ,h ) 因此],[b a C ∞按),(g f d 成度量空间。 3. 设B 是度量空间X 中的闭集,证明必有一列开集ΛΛn o o o 21,包含B ,而且B o n n =?∞ =1 。 证明 令n n n o n n B x d Bo o .2,1},1 ),({K =<==是开集:设n o x ∈0,则存在B x ∈1,使 n x x d 1),(10<。设,0),(1 10>-=x x d n δ则易验证n o x U ?),(0δ,这就证明了n o 是 开集 显然B o n n ??∞=1 。若n n o x ∞ =?∈1 则对每一个n ,有B x n ∈使n x x d 1 ),(1< ,因此

数值分析试卷及其答案

1、(本题5分)试确定7 22 作为π的近似值具有几位有效数字,并确定其相对误差限。 解 因为 7 22 =3.142857…=1103142857 .0-? π=3.141592… 所以 312102 11021005.0001264.0722--?=?=<=- π (2分) 这里,3,21,0=-=+-=n n m m 由有效数字的定义可知7 22 作为π的近似值具有3位有效数字。 (1分) 而相对误差限 3102 1 0005.00004138.0001264.07 22-?= <≈= -= π π πε r (2分) 2、(本题6分)用改进平方根法解方程组:??? ?? ??=????? ??????? ??--654131*********x x x ; 解 设???? ? ??????? ? ?????? ??===????? ??--11111 1 131321112323121 32 132 31 21 l l l d d d l l l LDL A T 由矩阵乘法得: 5 7,21,215 27 ,25,2323121321- ==-== -==l l l d d d (3分) 由y D x L b Ly T 1 ,-==解得 T T x y )9 23 ,97,910(,)563, 7,4(== (3分) 3、(本题6分)给定线性方程组???????=++-=+-+=-+-=-+17 7222382311387 510432143213 21431x x x x x x x x x x x x x x 1)写出Jacoib 迭代格式和Gauss-Seidel 迭代格式; 2)考查Jacoib 迭代格式和Gauss-Seidel 迭代格式的敛散性; 解 1)Jacoib 迭代格式为

数值分析习题集和答案解析

第一章绪论 习题一 1.设x>0,x*的相对误差为δ,求f(x)=ln x的误差限。 解:求lnx的误差极限就是求f(x)=lnx的误差限,由公式(1.2.4)有 已知x*的相对误差满足,而 ,故 即 2.下列各数都是经过四舍五入得到的近似值,试指出它们有几位有效数字,并给出其误差限与相对误差限。 解:直接根据定义和式(1.2.2)(1.2.3)则得 有5位有效数字,其误差限,相对误差限 有2位有效数字, 有5位有效数字, 3.下列公式如何才比较准确?

(1) (2) 解:要使计算较准确,主要是避免两相近数相减,故应变换所给公式。 (1) (2) 4.近似数x*=0.0310,是 3 位有数数字。 5.计算取,利用:式计算误差最小。 四个选项: 第二、三章插值与函数逼近 习题二、三 1. 给定的数值表 用线性插值与二次插值计算ln0.54的近似值并估计误差限. 解:仍可使用n=1及n=2的Lagrange插值或Newton插值,并应用误差估计(5.8)。线性插值时,用0.5及0.6两点,

用Newton插值 误差限,因 ,故 二次插值时,用0.5,0.6,0.7三点,作二次Newton插值 误差限 ,故 2. 在-4≤x≤4上给出的等距节点函数表,若用二次插值法求的近似值,要使误差不超过,函数表的步长h应 取多少? 解:用误差估计式(5.8), 令

因 得 3. 若,求和. 解:由均差与导数关系 于是 4. 若互异,求 的值,这里p≤n+1. 解:,由均差对称性 可知当有 而当P=n+1时 于是得 5. 求证.

解:解:只要按差分定义直接展开得 6. 已知的函数表 求出三次Newton均差插值多项式,计算f(0.23)的近似值并用均差的余项表达式估计误差. 解:根据给定函数表构造均差表 由式(5.14)当n=3时得Newton均差插值多项式 N3(x)=1.0067x+0.08367x(x-0.2)+0.17400x(x-0.2)(x-0.3) 由此可得 f(0.23) N3(0.23)=0.23203 由余项表达式(5.15)可得 由于

数值分析试卷及其答案2

1、(本题5分)试确定7 22作为π的近似值具有几位有效数字,并确定其相对误差限。 解 因为 7 22=3.142857…=1103142857.0-? π=3.141592… 所以 3 12 10 2 110 21005.0001264.07 22--?= ?= <=- π (2分) 这里,3,21,0=-=+-=n n m m 由有效数字的定义可知7 22作为π的近似值具有3位有效数字。 (1分) 而相对误差限 3 10 2 10005.00004138.0001264.07 22-?= <≈= -= π π πε r (2分) 2、(本题6分)用改进平方根法解方程组:???? ? ??=????? ??????? ??--654131321 112321x x x ; 解 设???? ? ? ?????? ? ?????? ??===????? ? ?--11 1 11113 1321 11232312132 1 32 31 21 l l l d d d l l l LDL A T 由矩阵乘法得: 5 7,21,21527,25,2323121321- == - == -==l l l d d d (3分) 由y D x L b Ly T 1 ,-==解得 T T x y )9 23,97,910( ,)5 63, 7,4(== (3分) 3、(本题6分)给定线性方程组??? ? ? ??=++-=+-+=-+-=-+17722238231138751043214321 321431x x x x x x x x x x x x x x 1)写出Jacoib 迭代格式和Gauss-Seidel 迭代格式; 2)考查Jacoib 迭代格式和Gauss-Seidel 迭代格式的敛散性; 解 1)Jacoib 迭代格式为

数值计算方法》试题集及答案

《计算方法》期中复习试题 一、填空题: 1、已知3.1)3(,2.1)2(,0.1)1(===f f f ,则用辛普生(辛卜生)公式计算求得 ?≈3 1 _________ )(dx x f ,用三点式求得≈')1(f 。 答案:2.367,0.25 2、1)3(,2)2(,1)1(==-=f f f ,则过这三点的二次插值多项式中2 x 的系数为 ,拉 格朗日插值多项式为 。 答案:-1, )2)(1(21 )3)(1(2)3)(2(21)(2--------= x x x x x x x L 3、近似值*0.231x =关于真值229.0=x 有( 2 )位有效数字; 4、设)(x f 可微,求方程)(x f x =的牛顿迭代格式是( ); 答案 )(1)(1n n n n n x f x f x x x '--- =+ 5、对1)(3 ++=x x x f ,差商=]3,2,1,0[f ( 1 ),=]4,3,2,1,0[f ( 0 ); 6、计算方法主要研究( 截断 )误差和( 舍入 )误差; 7、用二分法求非线性方程 f (x )=0在区间(a ,b )内的根时,二分n 次后的误差限为 ( 1 2+-n a b ); 8、已知f (1)=2,f (2)=3,f (4)=5.9,则二次Newton 插值多项式中x 2系数为( 0.15 ); 11、 两点式高斯型求积公式?1 d )(x x f ≈( ?++-≈1 )] 321 3()3213([21d )(f f x x f ),代数精度 为( 5 ); 12、 为了使计算 32)1(6 )1(41310-- -+-+ =x x x y 的乘除法次数尽量地少,应将该表达 式改写为 11 ,))64(3(10-= -++=x t t t t y ,为了减少舍入误差,应将表达式1999 2001-

数值分析试题及答案

一、单项选择题(每小题3分,共15分) 1. 3.142和3.141分别作为π的近似数具有( )和( )位有效数字. A .4和3 B .3和2 C .3和4 D .4和4 2. 已知求积公式 ()()2 1 121 1()(2)636f x dx f Af f ≈ ++? ,则A =( ) A . 16 B .13 C .12 D .2 3 3. 通过点 ()()0011,,,x y x y 的拉格朗日插值基函数()()01,l x l x 满足( ) A . ()00l x =0, ()110l x = B . ()00l x =0, ()111l x = C .() 00l x =1,()111 l x = D . () 00l x =1,()111 l x = 4. 设求方程 ()0 f x =的根的牛顿法收敛,则它具有( )敛速。 A .超线性 B .平方 C .线性 D .三次 5. 用列主元消元法解线性方程组 1231231 220223332 x x x x x x x x ++=?? ++=??--=? 作第一次消元后得到的第3个方程( ). A . 232 x x -+= B .232 1.5 3.5 x x -+= C . 2323 x x -+= D . 230.5 1.5 x x -=- 单项选择题答案 1.A 2.D 3.D 4.C 5.B 得 分 评卷人 二、填空题(每小题3分,共15分)

1. 设T X )4,3,2(-=, 则=1||||X ,2||||X = . 2. 一阶均差 ()01,f x x = 3. 已知3n =时,科茨系数()()() 33301213,88C C C ===,那么 () 33C = 4. 因为方程()420 x f x x =-+=在区间 []1,2上满足 ,所以()0f x =在区间 内有根。 5. 取步长0.1h =,用欧拉法解初值问题 ()211y y y x y ?'=+?? ?=? 的计算公式 . 填空题答案 1. 9和29 2. ()() 0101 f x f x x x -- 3. 1 8 4. ()()120 f f < 5. ()12 00.1 1.1,0,1,210.11k k y y k k y +???? ?=+? ?=+???? =??L 得 分 评卷人 三、计算题(每题15分,共60分) 1. 已知函数 21 1y x = +的一组数据: 求分 段线性插值函数,并计算 () 1.5f 的近似值. 计算题1.答案 1. 解 []0,1x ∈, ()1010.510.50110x x L x x --=?+?=---% []1,2x ∈,()210.50.20.30.81221x x L x x --=?+?=-+--%

数值分析整理版试题及答案

数值分析整理版试题及答案

例1、 已知函数表 x -1 1 2 ()f x -3 0 4 求()f x 的Lagrange 二次插值多项式和Newton 二次插值多项式。 解: (1)k x -1 1 2 k y -3 0 4 插值基函数分别为 ()()()()()()()()()() 1200102121()1211126 x x x x x x l x x x x x x x ----= ==-------- ()()()()()()()() ()()021******* ()1211122x x x x x x l x x x x x x x --+-= ==-+---+- ()()()()()()()()()()0122021111 ()1121213 x x x x x x l x x x x x x x --+-= ==-+--+- 故所求二次拉格朗日插值多项式为 () ()()()()()()()()()()2 20 2()11131201241162314 121123537623k k k L x y l x x x x x x x x x x x x x ==?? =-? --+?-+-+?+-????=---++-=+-∑ (2)一阶均差、二阶均差分别为

[]()()[]()()[][][]010********* 011201202303 ,11204 ,412 3 4,,5 2,,126 f x f x f x x x x f x f x f x x x x f x x f x x f x x x x x ---===-----= = =----=== --- k x ()k f x 一阶 二阶 -1 -3 1 0 3/ 2 2 4 4 5/6 故所求Newton 二次插值多项式为 ()()[]()[]()() ()()()20010012012,,,35 311126537623P x f x f x x x x f x x x x x x x x x x x x =+-+--=-+ +++-=+- 例2、 设2 ()32f x x x =++,[0,1]x ∈,试求()f x 在[0, 1]上关于()1x ρ=,{} span 1,x Φ=的最佳平方逼近多项式。 解: 若{}span 1,x Φ=,则0()1x ?=,1()x x ?=,且()1x ρ=,这样,有

最新泛函分析考试题集与答案

泛函分析复习题2012 1.在实数轴R 上,令p y x y x d ||),(-=,当p 为何值时,R 是度量 空间,p 为何值时,R 是赋范空间。 解:若R 是度量空间,所以R z y x ∈?,,,必须有: ),(),(),(z y d y x d z x d +≤成立 即p p p z y y x z x ||||||-+-≤-,取1,0,1-===z y x , 有2112=+≤p p p ,所以,1≤p 若R 是赋范空间,p x x x d ||||||)0,(==,所以R k x ∈?,, 必须有:||||||||||x k kx ?=成立,即p p x k kx ||||||=,1=p , 当1≤p 时,若R 是度量空间,1=p 时,若R 是赋范空间。 2.若),(d X 是度量空间,则)1,m in(1d d =,d d d +=12也是使X 成为度量空间。 解:由于),(d X 是度量空间,所以X z y x ∈?,,有: 1)0),(≥y x d ,因此0)1),,(m in(),(1≥=y x d y x d 和0) ,(1) ,(),(2≥+= y x d y x d y x d 且当y x =时0),(=y x d , 于是0)1),,(m in(),(1==y x d y x d 和0) ,(1) ,(),(2=+=y x d y x d y x d 以及若

0)1),,(m in(),(1==y x d y x d 或0) ,(1) ,(),(2=+= y x d y x d y x d 均有0),(=y x d 成立,于是y x =成立 2)),(),(y x d x y d =, 因此),()1),,(m in()1),,(m in(),(11y x d y x d x y d x y d === 和),() ,(1) ,(),(1),(),(22y x d y x d y x d x y d x y d x y d =+=+= 3)),(),(),(z y d y x d z x d +≤,因此 }1),,(),(m in{)1),,(m in(),(1z y d y x d z x d z x d +≤= ),(),()1),,(m in()1),,(m in(11z y d y x d z y d y x d +=+≤ 以及设x x x f += 1)(,0)1(1)(2 >+='x x f ,所以)(x f 单增, 所以) ,(),(1),(),(),(1),(),(2z y d y x d z y d y x d z x d z x d z x d +++≤+= ),(),(1) ,(),(),(1),(z y d y x d z y d z y d y x d y x d +++++= ),(),() ,(1) ,(),(1),(22z y d y x d z y d z y d y x d y x d +=+++≤ 综上所述)1,m in(1d d =和d d d += 12均满足度量空间的三条件, 故),(1y x d 和),(2y x d 均使X 成为度量空间。

数值计算方法试题集及答案要点

《数值计算方法》复习试题 一、填空题: 1、 ?? ??? ?????----=410141014A ,则A 的LU 分解为 A ? ???????? ???=????????? ?? ?。 答案: ?? ????????--??????????--=1556141501 4115401411A 2、已知3.1)3(,2.1)2(, 0.1)1(===f f f ,则用辛普生(辛卜生)公式计算求 得?≈3 1 _________ )(dx x f ,用三点式求得≈')1(f 。 答案:2.367,0.25 3、1)3(,2)2(, 1)1(==-=f f f ,则过这三点的二次插值多项式中2x 的系数 为 ,拉格朗日插值多项式为 。 答案:-1, )2)(1(21 )3)(1(2)3)(2(21)(2--------= x x x x x x x L 4、近似值*0.231x =关于真值229.0=x 有( 2 )位有效数字; 5、设)(x f 可微,求方程)(x f x =的牛顿迭代格式是( ); 答案 )(1)(1n n n n n x f x f x x x '--- =+ 6、对 1)(3++=x x x f ,差商=]3,2,1,0[f ( 1 ),=]4,3,2,1,0[f ( 0 ); 7、计算方法主要研究( 截断 )误差和( 舍入 )误差; 8、用二分法求非线性方程f (x )=0在区间(a ,b )内的根时,二分n 次后的误差限为( 1 2+-n a b ); 9、求解一阶常微分方程初值问题y '= f (x ,y ),y (x 0)=y 0的改进的欧拉公

数值分析复习题及答案

数值分析复习题 一、选择题 1. 3.142和3.141分别作为π的近似数具有( )和( )位有效数字. A .4和3 B .3和2 C .3和4 D .4和4 2. 已知求积公式()()2 11211()(2)636f x dx f Af f ≈++?,则A =( ) A . 16 B .13 C .12 D .2 3 3. 通过点()()0011,,,x y x y 的拉格朗日插值基函数()()01,l x l x 满足( ) A .() 00l x =0,()110l x = B . ()00l x =0,()111l x = C .()00l x =1,()111l x = D . ()00l x =1,()111l x = 4. 设求方程()0f x =的根的牛顿法收敛,则它具有( )敛速。 A .超线性 B .平方 C .线性 D .三次 5. 用列主元消元法解线性方程组1231231220223332x x x x x x x x ++=??++=??--=? 作第一次消元后得到的第3个方程( ). A .232x x -+= B .232 1.5 3.5x x -+= C .2323x x -+= D .230.5 1.5x x -=- 二、填空 1. 设 2.3149541...x *=,取5位有效数字,则所得的近似值x= . 2.设一阶差商 ()()()21122114,321f x f x f x x x x --= ==---, ()()()322332615,422f x f x f x x x x --===--

则二阶差商 ()123,,______f x x x = 3. 设(2,3,1)T X =--, 则2||||X = ,=∞||||X 。 4.求方程 2 1.250x x --= 的近似根,用迭代公式 1.25x x =+,取初始值 01x =, 那么 1______x =。 5.解初始值问题 00'(,)()y f x y y x y =??=?近似解的梯形公式是 1______k y +≈。 6、 1151A ??= ?-??,则A 的谱半径 = 。 7、设 2()35, , 0,1,2,... , k f x x x kh k =+== ,则[]12,,n n n f x x x ++= 和[]123,,,n n n n f x x x x +++= 。 8、若线性代数方程组AX=b 的系数矩阵A 为严格对角占优阵,则雅可比迭代和高斯-塞德尔迭代都 。 9、解常微分方程初值问题的欧拉(Euler )方法的局部截断误差为 。 10、为了使计算 23123101(1)(1)y x x x =+ +----的乘除法运算次数尽量的少,应将表达式改写 成 。 11. 设T X )4,3,2(-=, 则=1||||X ,2||||X = . 12. 一阶均差()01,f x x = 13. 已知3n =时,科茨系数()()()33301213,88C C C ===,那么 ()33C = 14. 因为方程()420x f x x =-+=在区间[]1,2上满足 ,所以()0f x =在区间内有根。 15. 取步长0.1h =,用欧拉法解初值问题()211y y y x y ?'=+???=?的计算公式 . 16.设 * 2.40315x =是真值 2.40194x =的近似值,则*x 有 位有效数字。

相关文档
最新文档