设为首页收藏本站|繁體中文 快速切换版块

 找回密码
 立即加入
搜索
查看: 1127|回复: 2

在微分方程计算过程中,结果中出现NaN,是怎么回事

[复制链接]

该用户从未签到

尚未签到

发表于 2013-2-28 17:14:03 | 显示全部楼层 |阅读模式

马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!

您需要 登录 才可以下载或查看,没有账号?立即加入

×
解微分方程运行后,出现的结果先是逐渐变大的数据,然后是变为无穷大Inf,接着就是NaN,这是怎么回事?有哪位知道啊?
3 Q$ u# k1 a# P$ M# i其中一段的结果如下:
  l2 I* t5 M0 O5 X5 D+ N( q' I; a! V2 @0 `9 T
-6.577334937091747730665057507568065230549384834272368050884038839567853*10^273,) u7 R7 M) P7 E1 n) o5 m. @
-5.139195757419310323174537703330917750350843564381075360877238710618581*10^291,* _$ f; x0 v" A9 t
-Inf
7 r! q4 O1 R$ r$ ~8 w) x! YNaN" B# [+ ^- z  b
NaN+ h  j; c3 h0 _& J6 ^
NaN9 W6 ^, k1 }; M
. r' P+ O, _* I# J5 Q7 L% |
3 A7 A7 P. y3 Y/ S2 r1 U8 R
是用龙格-库塔方法计算微分方程组得出的结果,程序如下:
  o8 s7 z" F: K  |" Qfunction R = wffcz(f,g,a,b,xa,ya,N,I)
% g+ ~, h/ o, S& }4 C! r%UNTITLED2 Summary of this function goes here! L' j7 J" M* n" s& b! l
% Detailed explanation goes here
$ k# }1 N/ |5 E3 D%x'=f(t,x,y) y'=g(t,x,y), ]* X( t  {* {/ G1 ~) G
%N为迭代次数$ {4 N3 C0 k4 V. Z& v
%h为步长6 {6 k7 P6 a- q( a
%ya,xa为初值4 z1 x9 j5 @; [6 h% N3 h" {% H
B1=2.652e+005;A1=2.922;
4 E- O4 f9 C* f/ y  b1 _B2=2.233e+005;A2=1.442;# V0 U7 P( g- X( X4 m( `/ Q
R1=94.25;
) d% x- j/ U1 ^# ?  BC=6.897e-11;
" h$ l+ K1 G; x* iL1=21.75e-6;
$ K- P# D& }; T%f=@(t,x,y)((25079999999999999898935095034332140556544638976*t^9 - 3116000000000000083537608917399754195861504*t^8 + 164799999999999990698756673337884147712*t^7 - 4823999999999999755901658355204096*t^6 + 83320000000000003537039785984*t^5 - 770099999999999994757120*t^4 + 3330000000000000000*t^3 - 94230000000000*t^2 + 1885000000*t + 1847/50-(x-((x-B1)/A1-y)*R1-B2)/A2-(x-B1)/A1)/C);+ g% J2 ~! c& ?' t0 B
f=@(t,x,y)((I-(x-((x-B1)/A1-y)*R1-B2)/A2-(x-B1)/A1)/C);
% r% x" ~+ w8 J% ]: j2 Z0 C4 |g=@(t,x,y)(((x-((x-B1)/A1-y)*R1-B2)/A2-y)*R1/L1);  n* U" V4 [3 M- J8 V+ t; c% \' q
h=(b-a)/N;
* F) ]" y% q, L7 K1 N) x% pT=zeros(1,N+1);
* `( y! G. M0 V7 x6 |; f0 aX=zeros(1,N+1);
9 ~1 G+ F. j" q" |! h; IY=zeros(1,N+1);
8 @3 q$ p. U% U7 S7 ~T=a:h:b;
. ]* ^" N- @7 V6 PX(1)=xa;
: ^5 F6 o  d6 R% w5 _7 OY(1)=ya;
# {' o7 s$ D* C  |' ofor j=1:N! `- y1 e6 U% x" B
f1=vpa(feval(f,T(j),X(j),Y(j)),90);3 _! a' `/ m. z' N$ @5 y5 C6 e" y7 t
g1=vpa(feval(g,T(j),X(j),Y(j)),90);
' _5 U* A: w5 ?/ K' If2=vpa(feval(f,T(j)+h/2,X(j)+h/2*f1,Y(j)+g1/2),90);
0 X. O( g' ?  ^  v6 lg2=vpa(feval(g,T(j)+h/2,X(j)+h/2*f1,Y(j)+h/2*g1),90);$ p% B  }  F. x  w* D
f3=vpa(feval(f,T(j)+h/2,X(j)+h/2*f2,Y(j)+h*g2/2),90);4 L/ \- V, s2 a
g3=vpa(feval(g,T(j)+h/2,X(j)+h/2*f2,Y(j)+h/2*g2),90);7 `1 \. \! t- d, k. t( R4 V2 |/ w8 n
f4=vpa(feval(f,T(j)+h,X(j)+h*f3,Y(j)+h*g3),90);. Y: f: \; Y% ?0 X; l+ ]
g4=vpa(feval(g,T(j)+h,X(j)+h*f3,Y(j)+h*g3),90);# m+ l/ o% {1 R+ P; l1 A: t
X(j+1)=vpa(X(j)+h*(f1+2*f2+2*f3+f4)/6,90);
( J, T$ T6 A& hY(j+1)=vpa(Y(j)+h*(g1+2*g2+2*g3+g4)/6,90);
* _& ], m* I3 o$ p' kR=[T' X' Y'];
! P* Y; @* I# N' X3 f; Z( yend
2 @2 R9 ~# Y( c- Q( H6 X/ `% ~就不知道是程序问题还是硬件问题
楼主热帖
帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    愤怒
    2021-6-12 00:00
  • 签到天数: 1657 天

    连续签到: 28 天

    [LV.Master]伴坛终老

    累计签到:3132 天
    连续签到:3 天
    发表于 2013-3-1 00:36:11 | 显示全部楼层
    执行程序之前写一句“format long”,有可能是初值设的不好,另外为什么方程的系数这样大呢
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

    发表于 2013-3-1 08:23:30 | 显示全部楼层
    支持楼主~~~
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    招聘斑竹

    小黑屋|手机版|APP下载(beta)|Archiver|电力研学网 ( 赣ICP备12000811号-1|赣公网安备36040302000210号 )|网站地图

    GMT+8, 2026-8-13 08:02

    Powered by Discuz! X3.5 Licensed

    © 2001-2026 Discuz! Team.

    快速回复 返回顶部 返回列表