小schnappi 发表于 2023-7-22 16:18:02

重金求助python作业

期末实在是没空做这玩意了,求助一下各位大佬
原文:翻译: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)在范围内。证明结果的合理。

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)根据不同的程序在分析和数值上集成以下函数,并将发生的误差与相同数量的

迭代步骤。   

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

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

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

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

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

用p^2= x^2 + y^2去


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

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

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



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

Mike_python小 发表于 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# 根在区间 内
      else:
            a = c# 根在区间 内
    return (a + b) / 2# 返回区间中点作为近似的根

# 调用零搜索算法
root = zero_search(f, a, b, epsilon)
print(root)# 打印近似的根


C)在指定的区间内确定函数的根:

1. f(x) = cos(x),区间为
2. f(x) = ln(x),区间为
3. f(x) = (1/x) * cos(x),区间为

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

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

为了检查函数在给定区间内是否存在根,您可以使用零搜索算法来查找根。在区间内重新设置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)# 返回电势值
    pass

def simpson_rule_3d(f, x_range, y_range, n):
    h_x = (x_range - x_range) / n# 计算 x 步长
    h_y = (y_range - y_range) / n# 计算 y 步长

    integral = 0
    for i in range(n):
      x1 = x_range + i * h_x# x 起始点
      x2 = x_range + (i + 1) * h_x# x 终止点
      for j in range(n):
            y1 = y_range + j * h_y# y 起始点
            y2 = y_range + (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)# 打印电势值

# 使用三维图形显示结果
# 请使用合适的库和方法来将结果可视化为三维图形


请注意,上述代码是一个示例,你需要根据具体的问题和使用的库来进行适当的修改和调整。

球一个最佳答案谢谢啦!这对我非常重要!{:10_254:}{:10_254:}{:10_254:}

Threebody1 发表于 2023-7-22 16:58:42

上论坛问作业的人应当被举报

Mike_python小 发表于 2023-7-22 17:47:26

Threebody1 发表于 2023-7-22 16:58
上论坛问作业的人应当被举报

不是我草,小号咋都高级鱼油了我草

Threebody1 发表于 2023-7-22 22:54:45

Mike_python小 发表于 2023-7-22 17:47
不是我草,小号咋都高级鱼油了我草

之前刷的{:10_266:}
页: [1]
查看完整版本: 重金求助python作业