新建
上传
首页
助手
最?/div>
资料?/div>
工具

常微分方程的边值问题和本征值问?/p>

 

 

一、问题描?/p>

 

 

利用搜索法和弦割法,得到该常微分方程的本征值,再利用打靶法计算多个本征值?/p>

 

 

二、解决方?/p>

 

(一)搜索法

 

1.

先随便猜?/p>

k

的一个试验?/p>

,

程序中令

k=1 

2.

?/p>

Numerov

算法

 

 

 

 

 

 

根据本题的条件,

kn+1=kn=kn-1=k,s=0,

得到

yn+2,yn+1,yn

间的迭代公式

 

?/p>

con=(k*h)^2/12 

yn+2=2*(1-5*con)*yn+1/(1+con)-yn 

3

自己给定

φ

的初始条件,然后利用公式得到边界?/p>

φ

(1) 

4.

然后以小的步?/p>

dk

增加

k

值,这里?/p>

dk=1,

每当

φ

(1)

改变符号时,就将步长减半后倒退?/p>

来重?/p>

 

5.

当步长小于所要求的容许误差时终止程序,此时的

k

值即为所求?/p>

 

 

(二)弦割法

 

1.

 

随便猜测两个

k

值,这里?/p>

k0=1,k1=2 

2.

 

自己给定

φ

的初始条件,对两?/p>

k

值分别利用上述公式进行迭代,得到边界?/p>

y1(1)

?/p>

y2(1)

?/p>

 

3.

 

比较

y1(1)

?/p>

y2(1)

的绝对值大小。若绝对值大,说明对应的

k

值距离本征值距离较远?/p>

 

4.

 

将(

k0+k1

?/p>

/2

赋给

k2,

边界值绝对值小的对应的

k

值保持不变,边界值绝对值大的对?/p>

k

值重新定?/p>

k2

的值?/p>

 

5.

 

重复进行实验,当

y1(1)

?/p>

y(2)

的差的绝对值小于容许误差时终止程序。此?/p>

k1

的值即

为所求?/p>

 

 

当搜索法和弦割法大致求出了一个本征值后?/p>

利用打靶法,

调整

k

值再度进行搜索,

得到?/p>

个本征值,绘出其中一个本征值对应的函数图像,观察其性质?/p>

 

 

三、程序实?/p>

 

1.

 

搜索?/p>

 

subroutine

 add(t,y0,y1)  

!

利用子程序表示函数值的迭代

 

    

implicit none

 

    

real

(8)::t,h,con,y0,y1,y2 

Ͼλ
新建
上传
首页
助手
最?/div>
资料?/div>
工具

常微分方程的边值问题和本征值问?/p>

 

 

一、问题描?/p>

 

 

利用搜索法和弦割法,得到该常微分方程的本征值,再利用打靶法计算多个本征值?/p>

 

 

二、解决方?/p>

 

(一)搜索法

 

1.

先随便猜?/p>

k

的一个试验?/p>

,

程序中令

k=1 

2.

?/p>

Numerov

算法

 

 

 

 

 

 

根据本题的条件,

kn+1=kn=kn-1=k,s=0,

得到

yn+2,yn+1,yn

间的迭代公式

 

?/p>

con=(k*h)^2/12 

yn+2=2*(1-5*con)*yn+1/(1+con)-yn 

3

自己给定

φ

的初始条件,然后利用公式得到边界?/p>

φ

(1) 

4.

然后以小的步?/p>

dk

增加

k

值,这里?/p>

dk=1,

每当

φ

(1)

改变符号时,就将步长减半后倒退?/p>

来重?/p>

 

5.

当步长小于所要求的容许误差时终止程序,此时的

k

值即为所求?/p>

 

 

(二)弦割法

 

1.

 

随便猜测两个

k

值,这里?/p>

k0=1,k1=2 

2.

 

自己给定

φ

的初始条件,对两?/p>

k

值分别利用上述公式进行迭代,得到边界?/p>

y1(1)

?/p>

y2(1)

?/p>

 

3.

 

比较

y1(1)

?/p>

y2(1)

的绝对值大小。若绝对值大,说明对应的

k

值距离本征值距离较远?/p>

 

4.

 

将(

k0+k1

?/p>

/2

赋给

k2,

边界值绝对值小的对应的

k

值保持不变,边界值绝对值大的对?/p>

k

值重新定?/p>

k2

的值?/p>

 

5.

 

重复进行实验,当

y1(1)

?/p>

y(2)

的差的绝对值小于容许误差时终止程序。此?/p>

k1

的值即

为所求?/p>

 

 

当搜索法和弦割法大致求出了一个本征值后?/p>

利用打靶法,

调整

k

值再度进行搜索,

得到?/p>

个本征值,绘出其中一个本征值对应的函数图像,观察其性质?/p>

 

 

三、程序实?/p>

 

1.

 

搜索?/p>

 

subroutine

 add(t,y0,y1)  

!

利用子程序表示函数值的迭代

 

    

implicit none

 

    

real

(8)::t,h,con,y0,y1,y2 

">
新建
上传
首页
助手
最?/div>
资料?/div>
工具

常微分方程的边值问题和本征值问?/p>

 

 

一、问题描?/p>

 

 

利用搜索法和弦割法,得到该常微分方程的本征值,再利用打靶法计算多个本征值?/p>

 

 

二、解决方?/p>

 

(一)搜索法

 

1.

先随便猜?/p>

k

的一个试验?/p>

,

程序中令

k=1 

2.

?/p>

Numerov

算法

 

 

 

 

 

 

根据本题的条件,

kn+1=kn=kn-1=k,s=0,

得到

yn+2,yn+1,yn

间的迭代公式

 

?/p>

con=(k*h)^2/12 

yn+2=2*(1-5*con)*yn+1/(1+con)-yn 

3

自己给定

φ

的初始条件,然后利用公式得到边界?/p>

φ

(1) 

4.

然后以小的步?/p>

dk

增加

k

值,这里?/p>

dk=1,

每当

φ

(1)

改变符号时,就将步长减半后倒退?/p>

来重?/p>

 

5.

当步长小于所要求的容许误差时终止程序,此时的

k

值即为所求?/p>

 

 

(二)弦割法

 

1.

 

随便猜测两个

k

值,这里?/p>

k0=1,k1=2 

2.

 

自己给定

φ

的初始条件,对两?/p>

k

值分别利用上述公式进行迭代,得到边界?/p>

y1(1)

?/p>

y2(1)

?/p>

 

3.

 

比较

y1(1)

?/p>

y2(1)

的绝对值大小。若绝对值大,说明对应的

k

值距离本征值距离较远?/p>

 

4.

 

将(

k0+k1

?/p>

/2

赋给

k2,

边界值绝对值小的对应的

k

值保持不变,边界值绝对值大的对?/p>

k

值重新定?/p>

k2

的值?/p>

 

5.

 

重复进行实验,当

y1(1)

?/p>

y(2)

的差的绝对值小于容许误差时终止程序。此?/p>

k1

的值即

为所求?/p>

 

 

当搜索法和弦割法大致求出了一个本征值后?/p>

利用打靶法,

调整

k

值再度进行搜索,

得到?/p>

个本征值,绘出其中一个本征值对应的函数图像,观察其性质?/p>

 

 

三、程序实?/p>

 

1.

 

搜索?/p>

 

subroutine

 add(t,y0,y1)  

!

利用子程序表示函数值的迭代

 

    

implicit none

 

    

real

(8)::t,h,con,y0,y1,y2 

Ͼλ">
Ͼλ
Ŀ

计算物理实验报告 常微分方?- 百度文库
新建
上传
首页
助手
最?/div>
资料?/div>
工具

常微分方程的边值问题和本征值问?/p>

 

 

一、问题描?/p>

 

 

利用搜索法和弦割法,得到该常微分方程的本征值,再利用打靶法计算多个本征值?/p>

 

 

二、解决方?/p>

 

(一)搜索法

 

1.

先随便猜?/p>

k

的一个试验?/p>

,

程序中令

k=1 

2.

?/p>

Numerov

算法

 

 

 

 

 

 

根据本题的条件,

kn+1=kn=kn-1=k,s=0,

得到

yn+2,yn+1,yn

间的迭代公式

 

?/p>

con=(k*h)^2/12 

yn+2=2*(1-5*con)*yn+1/(1+con)-yn 

3

自己给定

φ

的初始条件,然后利用公式得到边界?/p>

φ

(1) 

4.

然后以小的步?/p>

dk

增加

k

值,这里?/p>

dk=1,

每当

φ

(1)

改变符号时,就将步长减半后倒退?/p>

来重?/p>

 

5.

当步长小于所要求的容许误差时终止程序,此时的

k

值即为所求?/p>

 

 

(二)弦割法

 

1.

 

随便猜测两个

k

值,这里?/p>

k0=1,k1=2 

2.

 

自己给定

φ

的初始条件,对两?/p>

k

值分别利用上述公式进行迭代,得到边界?/p>

y1(1)

?/p>

y2(1)

?/p>

 

3.

 

比较

y1(1)

?/p>

y2(1)

的绝对值大小。若绝对值大,说明对应的

k

值距离本征值距离较远?/p>

 

4.

 

将(

k0+k1

?/p>

/2

赋给

k2,

边界值绝对值小的对应的

k

值保持不变,边界值绝对值大的对?/p>

k

值重新定?/p>

k2

的值?/p>

 

5.

 

重复进行实验,当

y1(1)

?/p>

y(2)

的差的绝对值小于容许误差时终止程序。此?/p>

k1

的值即

为所求?/p>

 

 

当搜索法和弦割法大致求出了一个本征值后?/p>

利用打靶法,

调整

k

值再度进行搜索,

得到?/p>

个本征值,绘出其中一个本征值对应的函数图像,观察其性质?/p>

 

 

三、程序实?/p>

 

1.

 

搜索?/p>

 

subroutine

 add(t,y0,y1)  

!

利用子程序表示函数值的迭代

 

    

implicit none

 

    

real

(8)::t,h,con,y0,y1,y2 



ļ׺.doc޸Ϊ.docĶ

  • wordָʹ÷
  • ߵȴҵ ڶʽ
  • տư2020꼶²ھ ˶ ۺϲ
  • ˶쵼(ѡƪ)
  • 񱨱½ϰĿ(޸ĺ)
  • ԱͰ취ƶ
  • 2016Ƭҵ״չƷ
  • ũ׶԰԰Ч;ⱨ淶
  • ӢҸſκϰ
  • 2013-2017߿дӻ༰

վ

԰ Ͼλ
ϵͷ779662525#qq.com(#滻Ϊ@)