鱼C论坛

 找回密码
 立即注册
查看: 1964|回复: 5

重金求助python作业

[复制链接]
发表于 2023-7-22 16:18:02 From FishC Mobile | 显示全部楼层 |阅读模式
60鱼币
期末实在是没空做这玩意了,求助一下各位大佬
原文: FA2B264A-E9FD-4804-A586-2F8477A02E05.png CD4F9BF6-E27B-4E07-B170-9A2EFCEA3B30.png 翻译:3.1 间隔嵌套

A)编写并测试一个函数,该函数在传递值x后返回关联的函数值y。在功能范围内,任何

可以指定函数y = f(x)。

B)使用区间嵌套实现零搜索算法。考虑算法需要哪些规格。

C)在指定间隔内确定函数的根
f(x) = cOs(x)【1,π】
f(x) = In(x)【0,10】
f(x) =1/xCOS (X) 【0,π】
D)检查功能(B)仍处于间隔|-1,2和功能(4)在[2,100]范围内。证明结果的合理。

E)考虑实现给定准确性所需的迭代步骤数量,并以图形方式表示上下文。

F)确定函数的所有根
f(x) =x^5-0.11855 * x^4 - 4.9096 * x^3 - 0.38571 * x^2 +1.8752 x- 0.053245 (6)
自动化。要做到这一点,请考虑函数的属性。

3.2 数值积分

A)实现小计和上和的算法以及辛普森规则。

B)根据不同的程序在分析和数值上集成以下函数,并将发生的误差与相同数量的

迭代步骤。   
4A798F51-8E4A-490F-B0A5-FCEC6C030CDC.jpeg
C)改变数字积分中的迭代步骤数量。

D)考虑如何从上和和下总和的组合中获得改进的程序。

E)图4显示了静电场问题。在z=0

是否有直径为a的圆形线载荷a。中心在~轴上。我们正在寻找平面z = 0中的电位W。分析上,电位只能在≥轴上的点z = b中确定。

平面z = b中任何点的势的计算给出了

用p^2= x^2 + y^2去 AE35C685-A3F5-4AAC-89D0-B0E03CAB78E4.jpeg


对(17)执行分析标准化。

然后以数值计算z = b级的势
b = 2,5a,
|X |< =12a,
|y |< =12a.

为此,请将辛普森规则写成相应参数的函数,并以三维方式呈现您的结果。



最好别直接搬ChatGPT答案,chat的答案时常错误

点评

我很赞同!: 0.0 不,我坚决不同意楼主的看法!: 0.0
我很赞同!: 0 不,我坚决不同意楼主的看法!: 0
鱼C论坛不是作业论坛!  发表于 2023-7-22 16:59
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-22 16:21:24 | 显示全部楼层
3.1 间隔嵌套

A)编写并测试函数,该函数在传入值x后返回关联的函数值y。在函数范围内,您可以指定任何函数y = f(x)。
def f(x):    # 定义你的函数 y = f(x)    # 例如:     # return x ** 2  # 返回 x 的平方    # return math.sin(x)  # 返回 sin(x)    pass# 测试函数x = 2.0  # 输入值y = f(x)  # 调用函数得到函数值print(y)  # 打印函数值
B)使用区间嵌套实现零搜索算法。考虑算法需要哪些规格。

区间嵌套是一种寻找函数根的方法。该算法通过不断缩小包含根的区间来逼近根的值。以下是一个基本的区间嵌套算法的伪代码:
def zero_search(f, a, b, epsilon):    while abs(b - a) > epsilon:        c = (a + b) / 2  # 计算区间中点        if f(c) == 0:            return c  # 找到根        elif f(a) * f(c) < 0:            b = c  # 根在区间 [a, c] 内        else:            a = c  # 根在区间 [c, b] 内    return (a + b) / 2  # 返回区间中点作为近似的根# 调用零搜索算法root = zero_search(f, a, b, epsilon)print(root)  # 打印近似的根
C)在指定的区间内确定函数的根:

1. f(x) = cos(x),区间为 [1, π]
2. f(x) = ln(x),区间为 [0, 10]
3. f(x) = (1/x) * cos(x),区间为 [0, π]

你可以将这些函数分别定义在函数f(x)中,并使用上述的零搜索算法来计算根。

D)检查功能(B)仍处于区间 [-1, 2],以及功能(C)在区间 [2, 100] 内。请提供结果验证其合理性。

为了检查函数在给定区间内是否存在根,您可以使用零搜索算法来查找根。在区间内重新设置a和b的值,然后调用零搜索算法。如果返回的近似根位于区间内,则表明存在根。

E)考虑实现所需精度的迭代步骤数量,并以图形方式显示结果。

确定所需的迭代步骤数量需要根据特定的算法和函数来确定。对于给定的精度要求,您可以通过不断增加迭代步骤来逼近所需精度。绘制函数的图形有助于观察算法的收敛性和误差情况。

F)确定函数 f(x) = x^5 - 0.11855*x^4 - 4.9096*x^3 - 0.38571*x^2 + 1.8752*x - 0.053245 的所有根。自动化这个过程。对于这个问题,请考虑函数的特性。

要确定函数的所有根,可以使用零搜索算法或其他数值方法,如牛顿法或二分法。自动化该过程需要编写代码来实现所选方法并遍历整个区间。函数的特性(如函数在给定区间内是否连续,单调性等)可以帮助选择合适的算法来确定根。你可以编写一个循环来迭代地查找根,直到所有的根都被找到。记得设置合适的迭代终止条件,如达到最大迭代次数或找到足够精度的根。

3.2 数值积分

A)实现矩形和梯形算法以及辛普森规则。

矩形规则(或称为矩形法则)和梯形规则是常用的数值积分方法,辛普森规则是一种更精确的数值积分方法。以下是它们的伪代码示例:

矩形规则:
def rectangular_rule(f, a, b, n):    h = (b - a) / n  # 计算步长    integral = 0    for i in range(n):        x = a + i * h  # 节点位置        integral += f(x) * h  # 计算积分    return integral# 调用矩形规则integral = rectangular_rule(f, a, b, n)print(integral)  # 打印数值积分结果
梯形规则:
def trapezoidal_rule(f, a, b, n):    h = (b - a) / n  # 计算步长    integral = (f(a) + f(b)) / 2    for i in range(1, n):        x = a + i * h  # 节点位置        integral += f(x)    integral *= h  # 计算积分    return integral# 调用梯形规则integral = trapezoidal_rule(f, a, b, n)print(integral)  # 打印数值积分结果
辛普森规则:
def simpson_rule(f, a, b, n):    h = (b - a) / n  # 计算步长    integral = f(a) + f(b)    for i in range(1, n):        x = a + i * h  # 节点位置        if i % 2 == 0:            integral += 2 * f(x)        else:            integral += 4 * f(x)    integral *= h / 3  # 计算积分    return integral# 调用辛普森规则integral = simpson_rule(f, a, b, n)print(integral)  # 打印数值积分结果
B)根据不同的程序在分析和数值上积分以下函数,并将发生的误差与相同数量的迭代步骤进行比较。

你可以使用矩形规则、梯形规则和辛普森规则来数值积分给定的函数。通过选择不同的迭代步骤数量,你可以比较它们之间的误差。分析上的积分是利用函数的解析表达式进行的,它给出了精确的积分值。数值上的积分是通过数值方法计算的近似积分值。将这些结果与分析上的积分值进行比较,可以评估数值方法的准确性。

C)改变数值积分中的迭代步骤数量。

通过增加或减少迭代步骤数量,会对数值积分的准确性产生影响。随着迭代步骤数量的增加,数值积分结果逐渐趋近于准确值。您可以尝试不同的迭代步骤数量,并观察数值积分结果的变化。

D)考虑如何从矩形规则和梯形规则的组合中获得改进的方法。

矩形规则和梯形规则是数值积分中常用的方法。它们的组合可以通过以下方式来改进:

1. 复合梯形规则:将区间分成多个小段,在每个小段上应用梯形规则,并将结果相加。
2. 复合辛普森规则:将区间分成多个小段,在每个小段上应用辛普森规则,并将结果相加。

这种组合可以提高数值积分的准确性,尤其是当函数在某些区域变化较剧烈时。

E)图4显示了一个静电场问题。在z=0处有一个直径为a的圆形线载体,其中心位于x轴上。我们正在寻找平面z=0中的电势W。分析表明,电势只能在y轴上的点z=b处唯一确定。计算z=b平面上任意点的电势值,其中b=2.5a,|x|<=12a,|y|<=12a。请编写相应参数的辛普森规则函数,并以三维图形方式展示您的结果。

对于给定的静电场问题,可以使用辛普森规则进行数值积分来计算电势值。根据定义,辛普森规则是将区间分割为若干小段,并在每个小段上应用辛普森规则。以下是使用辛普森规则计算电势值的伪代码示例:
def potential(x, y):    # 计算在点 (x, y) 处的电势值    # 例如:    # return math.sin(x) + math.cos(y)  # 返回电势值    passdef simpson_rule_3d(f, x_range, y_range, n):    h_x = (x_range[1] - x_range[0]) / n  # 计算 x 步长    h_y = (y_range[1] - y_range[0]) / n  # 计算 y 步长    integral = 0    for i in range(n):        x1 = x_range[0] + i * h_x  # x 起始点        x2 = x_range[0] + (i + 1) * h_x  # x 终止点        for j in range(n):            y1 = y_range[0] + j * h_y  # y 起始点            y2 = y_range[0] + (j + 1) * h_y  # y 终止点            integral += f(x1, y1) + 4 * f((x1 + x2) / 2, y1) + f(x2, y1)  # 辛普森规则在 (x1, y1) 矩形内的贡献            integral += f(x1, y2) + 4 * f((x1 + x2) / 2, y2) + f(x2, y2)  # 辛普森规则在 (x1, y2) 矩形内的贡献    integral *= (h_x * h_y) / 9  # 计算积分    return integral# 调用辛普森规则计算电势值x_range = [-12 * a, 12 * a]y_range = [-12 * a, 12 * a]n = 100  # 迭代步骤数量result = simpson_rule_3d(potential, x_range, y_range, n)print(result)  # 打印电势值# 使用三维图形显示结果# 请使用合适的库和方法来将结果可视化为三维图形
请注意,上述代码是一个示例,你需要根据具体的问题和使用的库来进行适当的修改和调整。

球一个最佳答案谢谢啦!这对我非常重要!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-22 16:58:42 | 显示全部楼层
上论坛问作业的人应当被举报
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-22 17:47:26 | 显示全部楼层
Threebody1 发表于 2023-7-22 16:58
上论坛问作业的人应当被举报

不是我草,小号咋都高级鱼油了我草
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-22 22:54:45 | 显示全部楼层
Mike_python小 发表于 2023-7-22 17:47
不是我草,小号咋都高级鱼油了我草

之前刷的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-26 09:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表