生成有限差分的初始条件矩阵

问题描述

我想为此有限差分关系建立一个初始条件矩阵:

w_ {i + 1,j}-4w_ {i,j} + w_ {i-1,j} + w_ {i,j + 1} + w_ {i,j-1} = h ^ 2 g (x_i,y_j)

,其初始条件为:w_ {0,j} = w_ {N + 1,j} = u0且w_ {i,0} = w_ {i,N + 1} = u0(i,j = 1, ...,N + 1)

在我的代码中,我使用for循环生成初始条件矩阵

## N is number of interior points
def BC(u0,N):
    for i in range(N):
        for j in range(i+1):
            if i==0:
                U[i,j] = u0;
            if i==(N-1):
                U[i,j] = u0
            if i==j:
                U[i,j] = 0;
            if j==0:
                U[i,j] = u0;
            if j==(N-1):
                U[i,j] = u0; 
            else: 
                U[i,j] = 1; 
    return U.ravel(order = "F").reshape((N**2,1),order = "F"),U    

我返回两件事:一是按行词典顺序存储的矩阵,另一是初始条件大小由N至N的矩阵。我检查了N = 3的情况,它没有给我期望的答案,应该是U = u0 [2 1 2 | 1 0 1 | 2 1 2]在行词典中。如何生成此矩阵?有没有我错过的一些步骤?我对数据结构堆栈和队列不熟悉。

解决方法

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

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

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...