我正在编写一个代码来计算仪器课程的错误传播。代码要求您输入方程式、包含错误的变量、它们的值和不确定性。然后根据输入的变量导出方程,并将其存储在列表中。我试图用它们的值替换导出方程的变量,用不确定性乘以整个运算,然后对列表中的每个索引重复这个过程。然后我想求这个列表中所有索引的平方根之和,得到误差传播的值。 我被困在替换导出方程中变量的值上,需要帮助。我尝试了re.sub()和.replace(),但是它们不起作用,因为我试图用一个浮点替换它们。我将发布代码和输出。谢谢你的帮助
代码:
from sympy import diff, Symbol
from sympy.parsing.sympy_parser import parse_expr
print('Propagation of error: ')
exp=str(input('Enter the expression to find the propagation of error: '))
var=list(map(str,input('Enter the variables containing uncertainty seperated by spaces: ').split()))
val=list(map(float,input('Enter the values of the variables in the same order seperated by spaces: ').split()))
x=list(map(float,input('Enter the values of the uncertainty of each variable in the same order seperated by spaces: ').split()))
L=[]
for i in range(len(var)):
symb={var[i]:Symbol(var[i],real=True)}
func=parse_expr(exp,symb)
L.append(diff(func,symb[var[i]]))
print(L)
输出
操作代码问题
带字符串的表达式是:
3*E**2+5*K*E**3
传播误差的计算
Source
对于a、b、c中三个变量的函数,即:
传播误差的平方为:
这里,我们想把它应用到两个变量的函数:K,E
代码
输出
相关问题 更多 >
编程相关推荐