尝试将矩阵代码从MATLAB转换为Python,这是正确的吗?

时间:2018-11-03 18:42:11

标签: python matlab matrix

我有一个更长的代码,我试图将其从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

问题可能出在代码的其他地方,在这种情况下,我将继续寻找-但是有人可以检查这对我是否正确?谢谢!

0 个答案:

没有答案