- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Python 的初学者,我对这个任务有疑问:
x^3 + x - 1
。 这是我第一次使用 Python,所以我真的需要帮助。这是我的代码,但它不起作用:
import math
import matplotlib.pyplot as plt
import numpy as np
def fixedp (function, x0, min = 0.001, max = 100):
i = 0
e = 1
xp = []
while (e > min and i < max):
x = function(x0)
e = norm(x0 - x)
x0 = x
xp.append(x0)
i = i + 1
return x, xp
fx = input("Wrote function : ")
function = lambda x: eval(fx)
x_start = 0.5
xf,xp = fixedp(function, x_start)
x = linspace(0,2,100)
y = function(x)
plot(x, y, xp, function(xp), 'bo', x_start, f(x_start), 'ro', xf, f(xf), 'go', x, x, 'k')
show()
最佳答案
首先,我会注意到您的代码逻辑非常好并且可以正常工作。缩进和语法存在一些问题,因此我重写了您的代码。
import matplotlib.pyplot as plt
import numpy as np
from typing import Tuple, List
from math import *
def iteration(given_function, x0, min_error=0.001, max_iteration=3) -> Tuple[float, List]:
i = 0
error = 1
xp = []
x = None
while error > min_error and i < max_iteration:
x = given_function(x0)
error = abs(x0 - x)
x0 = x
xp.append(x0)
i += 1
print(xp)
return x, xp
def plot(xf, xp, x_start, given_function):
function_v = np.vectorize(given_function)
x = np.linspace(0, 2, 100)
y = function_v(x)
plt.plot(x, y)
plt.plot(xp, function_v(xp), 'bo')
plt.plot(x_start, given_function(x_start), 'ro')
plt.plot(xf, given_function(xf), 'go')
plt.plot(x, x, 'k')
plt.show()
def main():
fx = input("Write function: ")
given_function = lambda x: eval(fx)
x_start = 0.9
xf, xp = iteration(given_function, x_start)
plot(xf, xp, x_start, given_function)
if __name__ == '__main__':
main()
祝你 future 使用 Python 好运!
关于python - Python 中的定点迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61102869/
当我在定点 Z3Py 中启用解释生成选项时,我收到包含以下消息的核心转储。 Error setting 'DL_GENERATE_EXPLANATIONS', reason: unknown opti
我正在开发一些代码,可以从 HW 获取浮点或定点数据。目前我们将其作为 float 。 底层API都是定点的。所以我们必须将数据作为定点传回。我们使用的算法是 Cholesky。我想知道为什么我们必须
我有一个关于在 MATLAB 中为 Texas Instruments TMS320C64xx DSP 编写算法的问题: 我在 MATLAB 中草率地实现了我的过滤器。我的目标是使用 MATLAB E
我需要将 float 转换为Q31定点,Q31表示1个符号位,0位表示整数部分,31位表示小数部分。这意味着 Q31 只能表示 [-1,0.9999] 范围内的数字。 根据定义,从浮点转换为定点时,会
我正在使用第 3 方定点 antilog() 函数来计算分贝 out_mag = 10^( in_db/20 ) 的幅度。 antilog() 采用 Q6.25 格式作为输入,并在输出时提供 Q16.
我想将一个定点数(Q31/int32 表示具有 31 个小数位的小数)除以另一个 Q31/int32。我想计算z = y/x,知道abs(x)>abs(y)。因此,z<1,因此可以表示为另一个Q31/
我是一名优秀的程序员,十分优秀!