能用fortran语言,用numerov算法写个解微分方程的例子吗
3条回答 默认 最新
- CSDN专家-深度学习进阶 2022-04-27 08:55关注
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
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥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键失灵