数值分析简明教程第二版(王能超编著)
习题二第23题
我敲的代码
1.第一步先定义f(x)
#1先从库里引用出cos函数令其变量名为f
from math import cos as f
2.第二步输入变量x,与h的值
改进点:由于题目中x是定值,可以将x=0.8直接写进程序里,只需要输入变化的h的值
#2输入x,h的值
print('请输入x,h的值:')
#如果直接用 x=eval(input('请输入x的值:'))要注意input获取到的是字符串,要用eval/float/int等等把数字取出来
#这个地方两个一起输,变成数组。需要切片
#设变量inp是上面input输入两个数据后,切开的的两个数组
#这个地方用一个空格切开,或者直接split('')也可以,默认切片法
inp=input().split(' ')
#切好以后取数据,数组从0开始数,0,1分别对应x,h
x=eval(inp[0])
h=eval(inp[1])
3.开始写二阶三项点公式
#3写二阶三点式
#定义 x0=x x1=b=x0+h=x+h x2=x0+2*h=b+h
b=x+h
c=b+h
#def 函数调用 注意平方不是^而是**!!!!,函数定义都是小括号,没有中括号大括号等等区别运算顺序
def TT_func(x,b,c,h):
m = 1./(h**2)*(f(x)-2*f(b)+f(c))
return m
#这一步是定义M,之后才能输出函数值
M=TT_func(x,b,c,h)
4.输出
#4.输出结果
#这个地方要保留六位小数%.6f % 变量名
print ('二阶三点公式的结果为:%.6f' % M)