python基础练习四

2007黄有才 2022-11-22 11:34:03

第四题

如图所示,一致函数的方程为

f(x)=exsin(x)

求函数曲线在[0,pi]区间的长度。 你的任务:1)编写函数f(x)计算上述函数的值;2)编写函数pt(a, b)利用勾股定理计算直角三角形的斜边长。

提示:把区间分成n个小区间,曲线可以近似看成线段。当小区间的区间数量足够多时,近似长度接近真实值。

 代码实现

def f(x):
    a=((np.e)**x)*(np.sin(x))
    return(a)
# 在此添加代码,编写函数pt(a, b),利用勾股定理计算直角三角形的斜边长

def pt(a, b):
    c=pow(a**2+b**2,1/2)
    return(c)
n = 1000  # 细分成n个子区间
x = np.linspace(0, np.pi, n + 1)  # n个子区间的n+1个端点
l, h = 0, np.pi / n  # l为曲线长度、h为子区间宽度
for i in range(n):  # 对每个子区间
    li = pt(f(x[i + 1]) - f(x[i]), h)  # 曲线在第i个子区间的近似长度
    l = l + li  # 将航渡累加到l中

print('l = %.6f' %l)

 

...全文
171 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

124

社区成员

发帖
与我相关
我的任务
社区描述
Python课堂教学
python 高校
社区管理员
  • 42python
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧