Python 用两个数组求解方程,并将其显示为新数组
编辑: 适当的值和方程式:Python 用两个数组求解方程,并将其显示为新数组,python,arrays,numpy,equation,implicit,Python,Arrays,Numpy,Equation,Implicit,编辑: 适当的值和方程式: R=(Tpow-T)*(1-exp((x**2*alfa*t)/k**2)*(1.0-erf(x*sqrt(alfa*t)/k))) R = np.array([[24.7,46.12, 64.78, 81.12, 95.52], [ 108,119.6, 183, 183, 183], [129.7,138.77, 146.9, 154.3, 161], [167.06,172.6,177.7, 182.3, 186]])
R=(Tpow-T)*(1-exp((x**2*alfa*t)/k**2)*(1.0-erf(x*sqrt(alfa*t)/k)))
R = np.array([[24.7,46.12, 64.78, 81.12, 95.52],
[ 108,119.6, 183, 183, 183],
[129.7,138.77, 146.9, 154.3, 161],
[167.06,172.6,177.7, 182.3, 186]])
T = np.array([[20,20,20,20,20],
[20,20,20,20],
[20,31,12,23,14],
[15,11,37,28,19]])
R[i,j]=T[i,j]*exp(x*B)*x*A
我在excel中计算x,但仅当T=20时,正确的值应为:
x = np.array([[10,20,30,40,50],
[60,70,80,90],
[100,?,?,?,?],
[?,?,?,?,?]])
让我们看看随机(隐式)方程:
R=(Tpow-T)*(1-exp((x**2*alfa*t)/k**2)*(1.0-erf(x*sqrt(alfa*t)/k)))
R = np.array([[24.7,46.12, 64.78, 81.12, 95.52],
[ 108,119.6, 183, 183, 183],
[129.7,138.77, 146.9, 154.3, 161],
[167.06,172.6,177.7, 182.3, 186]])
T = np.array([[20,20,20,20,20],
[20,20,20,20],
[20,31,12,23,14],
[15,11,37,28,19]])
R[i,j]=T[i,j]*exp(x*B)*x*A
其中,R,T-是2D np.array,A,B-常量值,x是未知值
如何在新的数组中编写正确的循环以获得该方程的数值结果。
我想分别为以下各项单独求解我的方程:
R[1,1],T[1,1]=x[1,1]
R[2,2],T[2,2]=x[2,2]
等等
因为操作隐式函数,所以不容易
随机值:
TR = np.array([[24,46, 64, 81, 95],
[167,172,177, 182, 186]])
T1 = np.array([[22,10,6,52,12],
[10,10,2,3,6]])
A = 20
B = 30
X = np.array([[?,?,?,?,?],
[?,?,?,?,?]])
因为你认为我是编程新手,所以请试着在我还是个孩子的时候向我解释。:)
我得到了关于一个数组的方程和隐式方程的帮助,但我无法将其应用于此类问题:
有很多参数,alpha,t,k。你应该用显式值解释每个参数的含义 我不知道你是否可以只使用python,但我认为如果你有这样一个等式:
R=beta*T*exp(alpha*X)*X
假设alpha和beta是常数,最简单的方法是检查T是否是可逆矩阵,那么你只会得到这个方程
reverse(T)*R=beta*exp(alpha*X)*X
使用这个表达式,你会得到一个线性方程,然后你可以用np.linalg.solve来求解它
你能给出一个预期输出的例子吗?很抱歉,我没有。让我这样说:你能用例子数字说明你将如何用数学解决这个问题吗?很抱歉,我没有任何例子,但在我上面的链接中,是正确的方程式和R数组(TR)的值。T1的值约为20-40,这是一个有趣的例子