gpt4 book ai didi

python - 列表元素的代数运算

转载 作者:行者123 更新时间:2023-12-01 06:40:37 25 4
gpt4 key购买 nike

出于学习目的,我正在尝试使用 python 对数据进行统计处理。

在我的问题中,我生成两次掷骰子 n 次,其中 X 是随机变量,定义两次掷骰子的乘积。我设法计算 X 的期望,然后计算 X 的方差,但在计算 X 的标准差时遇到问题。

这是我的问题。如何根据这两个列表中具有相同序号的元素的代数运算从两个列表中获取第三个列表?准确地说,我想要得到这样的东西。

x = [x0, x1, .., xi, .., xn]

y = [y0, y1, .., yi, .., yn]

z = [(x0-y0)^2、(x1-y1)^2、..、(xi-yi)^2、..、(xn-yn)^2]

这是我的代码。也许它有点笨重,但这是我的第一个。我收到错误

unsupported operand type(s) for -: 'list' and 'Decimal

上线

x_error_2 = Decimal (((x_storage) - (expectation_x))**2).quantize(Decimal('.0001'))

显然,我做错了。

    n = input ("n=")
sum_x = 0
sum_x_2 = 0
sum_x_error_2 = 0
x_storage = [ ]
expectation_x_storage = []
from decimal import Decimal
for i in range (0, n):
from random import *
x = Decimal ((randint(1, 6)*randint(1, 6))).quantize(Decimal('1'))
x_storage.append(x)
x_2 = Decimal (x**2).quantize(Decimal('.01'))
sum_x = sum_x + x
sum_x_2 = sum_x_2 + x_2
expectation_x = Decimal (sum_x / n).quantize(Decimal('.01'))
expectation_x_2 = Decimal (sum_x_2 / n).quantize(Decimal('.01'))
variance_x = Decimal ((expectation_x_2 - (expectation_x)**2)).quantize(Decimal('.01'))
print ("E(X)=")
print (expectation_x)
print ("V(X)=")
print (variance_x)
for i in range (0, n):
expectation_x_storage.append(expectation_x)
print x_storage
print expectation_x_storage
#code is working until the next line
for i in range (0, n):
x_error_2 = Decimal (((x_storage) - (expectation_x))**2).quantize(Decimal('.0001'))
sum_x_error_2 = sum_x_error_2 + x_error_2
standard_deviation_x_2 = Decimal ((sum_x_error_2)/(n-1)).quantize(Decimal('.01'))
print ("Sn2(X)=")
print (standard_deviation_x_2)

最佳答案

看来您只需要在此处获取 x_storage 的第 i 个元素即可。

x_error_2 = Decimal (((x_storage[i]) - (expectation_x))**2).quantize(Decimal('.0001'))

同时更改线路标识

standard_deviation_x_2 = Decimal ((sum_x_error_2)/(n-1)).quantize(Decimal('.01'))

将其放在 for 循环之外。不确定是否值得一提,但在 python 中,身份识别至关重要。

然后它应该可以工作。

您似乎使用的是 python 2.7?我建议您不要混合调用 print 带括号和不带括号的样式。使用print(...)

关于python - 列表元素的代数运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59475107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com