Scilab 波函数图随基数的增加而变化 N=15//基准数量 b=%pi^2/4; e2=30^2//刚度系数平方 a=2//中子势阱宽度 h=零(N,N)//调用h矩阵 //hnm矩阵 对于n=1:n; h(n,n)=e2*((1-6/(%pi*%pi*n*n))*

Scilab 波函数图随基数的增加而变化 N=15//基准数量 b=%pi^2/4; e2=30^2//刚度系数平方 a=2//中子势阱宽度 h=零(N,N)//调用h矩阵 //hnm矩阵 对于n=1:n; h(n,n)=e2*((1-6/(%pi*%pi*n*n))*,scilab,Scilab,波函数图随基数的增加而变化 N=15//基准数量 b=%pi^2/4; e2=30^2//刚度系数平方 a=2//中子势阱宽度 h=零(N,N)//调用h矩阵 //hnm矩阵 对于n=1:n; h(n,n)=e2*((1-6/(%pi*%pi*n*n))*(%pi^2/48))+n^2; 对于m=n+1:n; q=1/((m-n)^2); r=1/((m+n)^2); t=(-1)^(m+n)+1)/4; h(m,n)=e2*t*(q-r); h(n,m)=h(m,n); 结束 结束 disp(

波函数图随基数的增加而变化
N=15//基准数量
b=%pi^2/4;
e2=30^2//刚度系数平方
a=2//中子势阱宽度
h=零(N,N)//调用h矩阵
//hnm矩阵
对于n=1:n;
h(n,n)=e2*((1-6/(%pi*%pi*n*n))*(%pi^2/48))+n^2;
对于m=n+1:n;
q=1/((m-n)^2);
r=1/((m+n)^2);
t=(-1)^(m+n)+1)/4;
h(m,n)=e2*t*(q-r);
h(n,m)=h(m,n);
结束
结束
disp(h);
//求特征值和矩阵
s=眼睛(N,N)//初等矩阵
disp(s);
[al,be,R]=规范(h,s);
e1=al./be;
c=R;
disp(e1)//固有值
disp(c);
[E,k]=gsort(实(e1),“g”,“d”)//特征值排序
E=E;
disp(E);
d=c;
d(:,1:N)=c(:,k)//特征向量排序
p=1000;
x=linspace(0,a,p);
psi=零(N,p)//呼叫psi波fn。
对于m2=1:N;
对于n2=1:N;
psi(m2,:)=psi(m2,:)+d(n2,m2)*sqrt(2/a)*sin(n2*%pi*x/a);
结束

如果(M2这里的问题是什么?你能给它和相关标签添加更多信息吗?@NithinKumarBiliya我的问题是这是一个谐振子问题,我选择了一个无限方阱的基,并绘制了它的波函数。我的问题是当我将基增加到20,即N=20时,波函数图就会反转,这不是假设会发生。所以我想知道我的代码中是否有任何问题,因为物理不可能是错误的。你的特征向量被定义为一个乘法常数(带有任意符号)。也许这就是你问题的原因。@Stéphanemotelet那么可能的解决方案是什么?你能给代码本身添加一些光吗?系数
sqrt(2/a)*sin(n2*%pi*x/a)
理论上很可能是由标准化特征向量确定的。不知道这种标准化,我不能再多说了…这里的问题是什么?你能给它和相关标签添加更多信息吗?@NithinKumarBiliya我的问题是这是一个谐振子问题,我选择了无限方阱的基础,并绘制了wav它的e函数。我的问题是,当我把基数增加到20,即N=20时,波函数图就会反转,这是不应该发生的。所以我想知道,在我的代码中是否有任何问题,因为物理学不会出错。你的特征向量被定义为一个乘法常数(带有任意符号)。也许这就是你问题的原因。@Stéphanemotelet那么可能的解决方案是什么?你能给代码本身添加一些光吗?系数
sqrt(2/a)*sin(n2*%pi*x/a)
很可能是用标准化的特征向量在理论上确定的。不知道这种标准化,我不能说更多。。。
N=15//no. of basis

b=%pi^2/4;

e2=30^2;//sq. of stiffness costant

a=2;//width of inf. potential well

h=zeros(N,N);//call h matrix

//hnm matrix

for n=1:N;

    h(n,n)=e2*((1-6/(%pi*%pi*n*n))*(%pi^2/48))+n^2;

    for m=n+1:N;

        q=1/((m-n)^2);

        r=1/((m+n)^2);

        t=((-1)^(m+n)+1)/4;

        h(m,n)=e2*t*(q-r);

        h(n,m)=h(m,n);

        end

end

disp(h);

//to find eigen values and matrix

s=eye(N,N);//elementary matrix

disp(s);

[al,be,R]=spec(h,s);

e1=al./be;

c=R;

disp(e1);//eigen values

disp(c);

[E,k]=gsort(real(e1),"g","d");//sorting eigen values

E=E;

disp(E);

d=c;

d(:,1:N)=c(:,k);//sorting eigen vectors

p=1000;

x=linspace(0,a,p);

psi=zeros(N,p);//call psi wave fn.

for m2=1:N;

    for n2=1:N;

        psi(m2,:)=psi(m2,:)+d(n2,m2)*sqrt(2/a)*sin(n2*%pi*x/a);

    end

    if(m2<=15);

        subplot(5,5,m2);

        plot(x,psi(m2,:));

        end

end