我有一个更长的代码,我试图将其从matlab转换为Python,我认为大多数情况下都是正确的,但输出的结果与matlab代码不一样。我相信问题出在矩阵A上,因为我一直在摆弄代码以尝试识别它,但是我也看不到任何错误。
Matlab:
m=250
beta=0
alpha=0.25
A=zeros(m,m);
A(1,1)=1-2.*alpha; A(1,2)=2.*alpha;
A(m,m)=1-2.*alpha; A(m,m-1)=2.*alpha;
for i=2:(m-1)
A(i,i-1)= alpha+beta ; A(i,i)=1-2.*alpha ; A(i,i+1)=alpha-beta;
end
Python:
import numpy as np
m=250
Beta=0
Alpha=0.25
A=np.zeros(shape=(m,m))
A[0,0]=1-2*Alpha
A[0,1]=2*Alpha
A[m-1,m-1]=1-2*Alpha
A[m-1,m-2]=2*Alpha
for i in range(1,m-1):
A[i,i-1]=Alpha+Beta
A[i,i]=1-2*Alpha
A[i,i+1]=Alpha-Beta
问题可能出在代码的其他地方,在这种情况下,我将继续寻找-但是有人可以检查这对我是否正确?谢谢!