如何评估填充字符串的矩阵?

问题描述

您好,我正在以数值方式求解泊松方程,我必须以特定方式考虑边界,该方式随所考虑的分辨率 (n_x,n_y,n_z) 而变化。例如,对于 n_x,y,z = 4,载荷向量采用以下形式

Load[1,1,1] = "(C__[0,0])*u[0,1]+(E__[0,0])*u[1,1]+(G__[0,0]"
Load[2,1] = "(E__[1,0])*u[2,1]+(G__[1,0]"
Load[3,1] = "(B__[2,0])*u[4,1]+(E__[2,0])*u[3,1]+(G__[2,0]"
Load[1,2,1] = "(G__[1,3,1]+(D__[0,4,1] = "(D__[1,1]+(D__[2,2] = "(C__[0,1])*u[0,2]+(E__[0,1])*u[1,2]"
Load[2,2] = "(E__[1,1])*u[2,2]"
Load[3,2] = "(B__[2,1])*u[4,2]+(E__[2,1])*u[3,2]"
Load[1,2] = "0"
Load[3,2]+(D__[0,2] = "(D__[1,2]+(D__[2,3] = "(C__[0,2])*u[0,3]+(E__[0,2])*u[1,3]+(F__[0,4]"
Load[2,3] = "(E__[1,2])*u[2,3]+(F__[1,4]"
Load[3,3] = "(B__[2,2])*u[4,3]+(E__[2,2])*u[3,3]+(F__[2,4]"
Load[1,3] = "(F__[1,3]+(D__[0,3] = "(D__[1,3]+(D__[2,4]"

其中从 A__ 到 G__ 是矩阵形式的拉普拉斯算子的“对角”分量,u 是具有所需边界的初始猜测,一切都是全局定义的。

我的问题是是否有一种方法可以评估负载

加载 = eval(加载)

或多线程评估以避免 for 循环,我使用 n=100 并且速度非常慢。

谢谢!

编辑:我有一个函数可以为负载向量创建结构,输出一个字符串(我使用了一个 for 循环)

for i in range(1,n_x):
    for j in range(1,n_y):
        for k in range(1,n_z):
            Load[i,j,k] = Function(i,k)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)