River Chandler 2022-04-27 00:44 采纳率: 71.4%
浏览 39
已结题

能用fortran语言,用numerov算法写个解微分方程的例子吗

能用fortran语言,用numerov算法写个解微分方程的例子吗

  • 写回答

3条回答 默认 最新

  • 关注

    y''-y=x,(0<x<1,y(0)=0,y(1)=1)

    IMPLICIT DOUBLE PRECISION(A-H,O-Z)
    DIMENSION RL(1:10000),A(1:10000),B(1:10000),C(1:10000),U(1:10000),RM(1:10000),F(1:10000),X(0:10000),Y(0:10000),P(1:10000)
    OPEN(3,FILE='IN.TXT')
    OPEN(1,FILE='OUT')
    READ(3,*)N,A1,B1
    H=(B1-A1)/N
    DO I=0,N
    X(I)=A1+I*H
    END DO
    DO I=2,N-1
    A(I)=1-(H**2)/12
    END DO
    DO I=1,N-1
    B(I)=-2*(1+5/12*(H**2))
    END DO
    DO I=1,N-2
    C(I)=1-(H**2)/12
    END DO
    F(1)=(H**2)/12*(X(0)+10*X(1)+X(2))
    F(N-1)=(H**2)/12*(X(N-2)+10*X(N-1)+X(N))-(1-(H**2)/12)
    DO I=2,N-2
    F(I)=(H**2)/12*(X(I-1)+10*X(I)+X(I+1))
    END DO
    
    DO I=2,N-1
    RM(I)=A(I)
    END DO
    RL(1)=B(1)
    U(1)=C(1)/RL(1)
    DO I=2,N-1
    RL(I)=B(I)-RM(I)*U(I-1)
    U(I)=C(I)/RL(I)
    END DO
    P(1)=F(1)/RL(1)
    DO I=2,N-1
    P(I)=(F(I)-RM(I)*P(I-1))/RL(I)
    END DO
    Y(N-1)=P(N-1)
    DO I=2,N-1
    Y(N-I)=P(N-I)-U(N-I)*Y(N-I+1)
    END DO
    W=2*(EXP(X(N-1000))-EXP(-X(N-1000)))/(EXP(1.000)-EXP(-1.000))-X(N-1000) !和解析解作对比
    
    PRINT*,Y(N-1000),W
    
    END
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 请采纳用户回复 7月11日
  • 系统已结题 5月5日
  • 已采纳回答 4月27日
  • 创建了问题 4月27日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵