python - 如何在时间上集成一个功能;即'y'是一个数组,时间(t)的值在1到3000之间变化
问题描述
我如何集成一个函数f(y)
wrt time;ie'y'
是一个包含 3000 个值的数组,其值time(t)
从 1 到 3000 不等。因此,在积分后我需要 3000 个值f(y)
。积分将是不确定的,积分值必须没有'x'
和'C'(Constant)
。这是我的代码的一部分:
k12 = np.array([random.random() for _ in range(3000)])
I1 = np.array([random.random() for _ in range(3000)])
m12 = np.array([random.random() for _ in range(3000)])
_k12 = [-x for x in k12]
_m12 = [-x for x in m12]
k21 = np.array([random.random() for _ in range(3000)])
I2 = np.array([random.random() for _ in range(3000)])
m21 = np.array([random.random() for _ in range(3000)])
_k21 = [-x for x in k21]
_m21 = [-x for x in m21]
k12_I1 = [i / j for i, j in zip(k12, I1)]
m12_I1 = [i / j for i, j in zip(m12, I1)]
_k12_I1 = [i / j for i, j in zip(_k12, I1)]
_m12_I1 = [i / j for i, j in zip(_m12, I1)]
k21_I2 = [i / j for i, j in zip(k21, I2)]
m21_I2 = [i / j for i, j in zip(m21, I2)]
_k21_I2 = [i / j for i, j in zip(_k21, I2)]
_m21_I2 = [i / j for i, j in zip(_m21, I2)]
X1_x = np.array(pd.read_csv(r"C:/Users/Lenovo/Desktop/Temp/X1_x.csv"))
X2 = np.array(pd.read_csv(r"C:/Users/Lenovo/Desktop/Temp/X2.csv"))
X2_diff = np.array(pd.read_csv(r"C:/Users/Lenovo/Desktop/Temp/X2_diff.csv"))
X3_ = ((k12*X1_x)-(I1*X2_diff)+(m12*X2))/k12
我需要 X3_ 但由于整数值的形式是常量 * x,所以它给出了一个错误:
'TypeError: can't multiply sequence by non-int of type 'float''
解决方案
有完全适合您任务的符号库,例如SymPy - 非常先进的符号库。你可以使用它。
Numpy 库只做数值计算,没有符号,你必须在脑海中做所有的符号。
正如我在你最终的 X3 中所理解的那样,你有两个术语的总和,一个是一种,Val1 * x
另一个是一种Val2
,即X3 = Val1 * x + Val2
。然后你可以把你X3
分成两部分(这里 Val1 是 X3_x 而 Val2 是 X3_c):
X3_x = k12*X1/k12
X3_c = (-(I1*X2_diff)+(m12*X2))/k12
x
稍后为您在 Python中执行的某些给定固定值计算整个 X3 X3 = X3_x * x + X3_c
。
此外,您必须以这样一种方式处理您的 CSV,使您的最终数组只包含浮点数,没有符号,*x
在任何地方都被删除,即:
X1_rd = np.array([e.strip().replace('[', '').replace(']', '').replace('*x', '') for e in pd.read_csv(r"X1_x.csv")]).astype(np.float64)
X2_rd = np.array(pd.read_csv(r"X2.csv")).astype(np.float64)
X2_diff_rd = np.array(pd.read_csv(r"X2_diff.csv")).astype(np.float64)
推荐阅读
- php - 出现错误,例如对预检请求的响应未通过访问控制检查
- corda - Corda Race Condition,从当前流中调用一些其他流,但输入状态来自当前流
- c# - OpenFileDialog 和 SaveFileDialog 在 C# 中使用过滤器弹出搜索
- mysql - 如何在 Mysql 的 binlog 中只记录特殊用户的操作
- ibm-mq - IBM MQ 主题默认消息保留
- python - 用于 include_dir 的 distutils 通配符条目
- java - Android - 获取手机指向的方向(类似指南针)
- r - 在 groupby 之后在多列中应用不同的功能
- kettle - PDI - 更新记录表中的字段值
- debugging - Lua - Lua 库中是否有与 debug.getupvalues / debug.getupvalue 相同或相似的不同函数?