小编jpr*_*lly的帖子

仅给定几个变量,求解一组简单的方程

我有一组几百个简单的求和方程。例如这里有3个:

 w1 - u1 - u2 = 0 
 w1 + w2 - w3 - u3 = 0
 w1 - w2 - w4 = 0
Run Code Online (Sandbox Code Playgroud)

我试图找到一种方法来解决尽可能多的问题,只给出少数几个值。例如,在上面的方程组中,如果我有u1并且u2我可以计算w1,但没有别的。鉴于u1u2并且w2我可以计算w1w4。等等……

目前我正在以一种相当直接的方式(伪代码)处理这个问题:

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)

python recursion performance sympy

2
推荐指数
1
解决办法
1041
查看次数

如何在POSIXct日期将'day'格式化为单个数字

我希望这个问题比较简单.我正在尝试在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

formatting r date posixct

1
推荐指数
1
解决办法
1596
查看次数

标签 统计

date ×1

formatting ×1

performance ×1

posixct ×1

python ×1

r ×1

recursion ×1

sympy ×1