我有一组几百个简单的求和方程。例如这里有3个:
w1 - u1 - u2 = 0
w1 + w2 - w3 - u3 = 0
w1 - w2 - w4 = 0
Run Code Online (Sandbox Code Playgroud)
我试图找到一种方法来解决尽可能多的问题,只给出少数几个值。例如,在上面的方程组中,如果我有u1并且u2我可以计算w1,但没有别的。鉴于u1,u2并且w2我可以计算w1和w4。等等……
目前我正在以一种相当直接的方式(伪代码)处理这个问题:
while there are new results:
for each equation:
try to solve equation:
if solved update result set
Run Code Online (Sandbox Code Playgroud)
这有效,但感觉笨拙且效率低下。
有没有更好的办法?(如果相关,则使用 Python)
编辑:我知道这可以作为一系列线性方程来解决,如果我知道足够的值。我正在寻找一种方法,当我不知道作为线性方程组求解时使用的方法(或者可能有一种奇特的方法可以以某种方式减少问题)
编辑 2:错误,已删除
编辑 3:对于使用 sympy 对我的解决方案感兴趣的任何人:
from sympy import linsolve, symbols, linear_eq_to_matrix
w1, w2, …Run Code Online (Sandbox Code Playgroud) 我希望这个问题比较简单.我正在尝试在R中打印出一些日期,但需要输出为特定格式,每天使用一个字符,例如:2/10/2013
这是我正在尝试做的一个例子:
date_time <- as.POSIXct(paste("3/02/2012", "00:10:09", sep=" "), format="%d/%m/%Y %H:%M:%S")
print(format(date_time, "%d/%m/%Y %H:%M:%S"))
Run Code Online (Sandbox Code Playgroud)
哪个回报
"03/02/2012 00:10:09"
Run Code Online (Sandbox Code Playgroud)
但我想要的是没有领先的0,就像这样:
"3/02/2012 00:10:09"
Run Code Online (Sandbox Code Playgroud)
知道如何以这种方式格式化吗?请注意,对于2位数的日子,我仍然希望返回两个数字,对于月份,我总是想要2个数字.
PS.是的,在澳大利亚,我们格式化日期dd/mm/yyyy