python - 绘制数学求和函数 (Alpine1)
问题描述
我正在寻找使用 Python 绘制 Alpine1 函数。该函数如下所示:
alp(x_1,…,x_n )= ∑_(i=1)^n〖|x_i * sin(x_i )+1.01x_i |〗</p>
所以函数求和 ( from i=1 to n
) 的绝对值xi*sin(xi) +1.01xi
。如果没有求和,Python 中的函数如下所示:
def f(x):
return (abs(x * np.sin(x) + 1.01 * x))
但是,这里我使用 x 而不是 xi 并且总和被忽略了。如何正确实现求和from i=1 to n
?简单地使用 sum() 只给出一个值,而我需要一个数组。
我想我需要寻找一种for i in range(1,...)
事物的方向,但我无法弄清楚。
提前感谢可以帮助我的人!
解决方案
Python 和其他语言中的求和通常使用for
循环来实现。在上面的公式中,您循环遍历所有元素 x 1、 x 2、 x 3 ... x n。
现在为了存储这些值,我们使用一个数组,或者特别是在 python 中一个列表,它基本上是一个数据集合(其中顺序很重要)。
x = [x_1, x_2, x_3 ... x_n]
这将是您的功能的输入f(x)
。要遍历 x 中的所有值,我们使用语法。
for x_i in x:
print(x_i)
这将打印所有值,即 x_1、x_2、x_3 ... x_n。
现在我们将声明一个变量summation = 0
并存储您在问题中提到的所需计算的值,并在遍历所有 x 值后返回求和值。
summation = 0
for x_i in x:
summation = summation + (abs(x_i * np.sin(x_i) + 1.01 * x_i))
#Note we returned the summation without the indentation
#so that it is out of the for loop.
return summation
推荐阅读
- parallel-processing - Jenkins 管道文件中的并行 MSBuild 失败
- mysql - 内部连接中的mysql语法错误
- ios - retryWhen 未按预期重新订阅源
- c# - 如何在 xamarin.forms 中使用将 Viewmodels 绑定到 bottomTabbed Viewpages?
- python - Python 我所有的键都使用相同的值
- html - 将 XPath 用于类和其他属性值吗?
- .net - Microsoft Owin 在本地打破 VS
- java - 如何将这些值设置为 List
从服务器上的响应返回后? - javascript - 在原型对象Javascript中引用html元素
- java - Selenium WebDriver 获取元素 SCREEN 坐标