找回密码
 注册
Simdroid-非首页
查看: 111|回复: 10

常微分方程方程解为什么延长积分区间结果会溢出。。

[复制链接]
发表于 2010-10-11 15:42:03 | 显示全部楼层 |阅读模式 来自 西安交通大学
函数
function dy=ODE1(z,y)
dy=zeros(3,1);
r=0.05;H1=206000;H2=165000;Cp=35.77;F=0.096;Fco=0.00672;Fco2=0.00192;pb=1175000;
dy(1)=(pi*r*r/Fco)*22656346.5*exp(-84816.7/8.314/y(3))*(70*(1-y(1))/(100-14*y(1)-4*y(2)))^0.4734;
dy(2)=(pi*r*r/Fco2)*1070043499*exp(-105802.4/8.314/y(3))*(20*(1-y(2))/(100-14*y(1)-4*y(2)))^0.000945;
dy(3)=(pi*r*r/F/Cp)*(22656346.5*exp(-84816.7/8.314/y(3))*(70*(1-y(1))/(100-14*y(1)-4*y(2)))^0.4734*H1+1070043499*exp(-105802.4/8.314/y(3))*(20*(1-y(2))/(100-14*y(1)-4*y(2)))^0.000945*H2);
当命令为
X0=[0;0;500]; tspan=[0 1.6]; [x,y]=ode45(@ODE1,tspan,X0)
还有结果,当命令为
X0=[0;0;500]; tspan=[0 1.7]; [x,y]=ode45(@ODE1,tspan,X0)
就没有结果,结果溢出了,谁给解释下。。。
发表于 2010-10-11 18:22:18 | 显示全部楼层 来自 湖南湘潭
Simdroid开发平台
有结果,有警告信息:
Warning: Imaginary parts of complex X and/or Y arguments ignored

方程有问题,与tspan及算法没关系。仔细核对一下微分方程吧。

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2010-10-11 18:52:43 | 显示全部楼层 来自 西安交通大学
那为什么我第一个有结果,第二个就溢出了。。
x =
         0
    0.0013
    0.0026
    0.0039
    0.0052
    0.0117
    0.0182
    0.0247
    0.0312
    0.0637
    0.0962
    0.1287
    0.1612
    0.2012
    0.2412
    0.2812
    0.3212
    0.3612
    0.4012
    0.4412
    0.4812
    0.5212
    0.5612
    0.6012
    0.6412
    0.6812
    0.7212
    0.7612
    0.8012
    0.8412
    0.8812
    0.9212
    0.9612
    1.0012
    1.0412
    1.0812
    1.1212
    1.1612
    1.2012
    1.2412
    1.2812
    1.3212
    1.3612
    1.4012
    1.4412
    1.4567
    1.4722
    1.4877
    1.5032
    1.5187
    1.5342
    1.5497
    1.5652
    1.5717
    1.5781
    1.5846
    1.5910
    1.5933
    1.5955
    1.5978
    1.6000

y =
         0         0  500.0000
    0.0000    0.0001  500.0208
    0.0001    0.0001  500.0416
    0.0001    0.0002  500.0624
    0.0002    0.0002  500.0833
    0.0004    0.0005  500.1877
    0.0006    0.0007  500.2927
    0.0008    0.0010  500.3981
    0.0010    0.0012  500.5040
    0.0020    0.0025  501.0407
    0.0031    0.0039  501.5899
    0.0041    0.0053  502.1522
    0.0052    0.0067  502.7280
    0.0066    0.0085  503.4564
    0.0081    0.0104  504.2078
    0.0095    0.0123  504.9836
    0.0111    0.0143  505.7853
    0.0126    0.0164  506.6147
    0.0143    0.0186  507.4737
    0.0160    0.0209  508.3643
    0.0177    0.0233  509.2889
    0.0195    0.0259  510.2501
    0.0214    0.0285  511.2506
    0.0233    0.0313  512.2938
    0.0254    0.0342  513.3833
    0.0275    0.0373  514.5231
    0.0297    0.0405  515.7179
    0.0320    0.0440  516.9730
    0.0345    0.0477  518.2945
    0.0370    0.0516  519.6895
    0.0397    0.0558  521.1663
    0.0426    0.0603  522.7345
    0.0456    0.0652  524.4057
    0.0489    0.0704  526.1936
    0.0523    0.0762  528.1148
    0.0560    0.0824  530.1896
    0.0600    0.0894  532.4440
    0.0644    0.0971  534.9103
    0.0692    0.1057  537.6284
    0.0744    0.1155  540.6540
    0.0803    0.1268  544.0629
    0.0869    0.1400  547.9671
    0.0946    0.1557  552.4956
    0.1036    0.1751  557.8949
    0.1145    0.1999  564.5827
    0.1194    0.2116  567.6516
    0.1248    0.2249  571.0753
    0.1309    0.2402  574.9448
    0.1379    0.2582  579.3900
    0.1459    0.2799  584.6278
    0.1553    0.3065  590.8652
    0.1667    0.3407  598.6361
    0.1815    0.3883  608.9948
    0.1892    0.4144  614.4985
    0.1981    0.4461  621.0190
    0.2089    0.4863  629.0623
    0.2225    0.5409  639.5901
    0.2282    0.5649  644.1108
    0.2346    0.5927  649.2589
    0.2419    0.6256  655.2350
    0.2504    0.6656  662.3501
回复 不支持

使用道具 举报

 楼主| 发表于 2010-10-11 19:00:15 | 显示全部楼层 来自 西安交通大学
X0=[0;0;500]; tspan=[0 1.7]; [x,y]=ode45(@ODE1,tspan,X0)

结果为
x =
         0
    0.0013
    0.0026
    0.0039
    0.0052
    0.0117
    0.0182
    0.0247
    0.0312
    0.0637
    0.0962
    0.1287
    0.1612
    0.2037
    0.2462
    0.2887
    0.3312
    0.3737
    0.4162
    0.4587
    0.5012
    0.5437
    0.5862
    0.6287
    0.6712
    0.7137
    0.7562
    0.7987
    0.8412
    0.8837
    0.9262
    0.9687
    1.0112
    1.0537
    1.0962
    1.1387
    1.1812
    1.2237
    1.2662
    1.3087
    1.3512
    1.3937
    1.4362
    1.4787
    1.5212
    1.5322
    1.5432
    1.5543
    1.5653
    1.5696
    1.5739
    1.5782
    1.5826
    1.5869
    1.5912
    1.5956
    1.5999
    1.6004
    1.6009
    1.6014
    1.6019
    1.6024
    1.6029
    1.6034
    1.6039
    1.6041
    1.6044
    1.6046
    1.6049
    1.6051
    1.6054
    1.6056
    1.6059
    1.6068
    1.6076
    1.6085
    1.6094
    1.6095
    1.6096
    1.6097
    1.6098
    1.6099
    1.6100
    1.6101
    1.6102
    1.6104
    1.6106
    1.6108
    1.6110
    1.6112
    1.6113
    1.6114
    1.6115
    1.6116
    1.6117
    1.6119
    1.6120
    1.6120
    1.6120
    1.6120
    1.6120
    1.6120
    1.6121
    1.6121
    1.6121
    1.6121
    1.6122
    1.6122
    1.6122
    1.6122
    1.6122
    1.6123
    1.6123
    1.6123
    1.6123
    1.6123
    1.6123
    1.6123
    1.6123
    1.6123
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6124
    1.6125
    1.6125
    1.6125
    1.6125
    1.6125
    1.6126
    1.6126
    1.6127
    1.6128
    1.6129
    1.6131
    1.6134
    1.6136
    1.6139
    1.6147
    1.6156
    1.6164
    1.6172
    1.6204
    1.6236
    1.6268
    1.6299
    1.6429
    1.6559
    1.6688
    1.6818
    1.6863
    1.6909
    1.6954
    1.7000

y =
  1.0e+010 *
        0                  0             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000             0.0000             0.0000         
   0.0000 - 0.0000i   0.0000 - 0.0000i   0.0000 - 0.0000i
   0.0000 - 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 - 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 - 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 - 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 - 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 - 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 - 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 - 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 - 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 - 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 - 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 - 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 - 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 - 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 - 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 - 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 - 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 + 0.0000i
   0.0000 - 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 - 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0001 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0001 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0001 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0001 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0001 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0001 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0002 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0003 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0003 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0004 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0005 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0006 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0008 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0009 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0013 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0016 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0020 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0023 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0034 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0044 + 0.0000i
   0.0000 + 0.0000i   0.0001 + 0.0000i   0.0054 + 0.0000i
   0.0000 + 0.0000i   0.0001 + 0.0000i   0.0065 + 0.0000i
   0.0000 + 0.0000i   0.0001 + 0.0000i   0.0096 + 0.0000i
   0.0000 + 0.0000i   0.0001 + 0.0000i   0.0127 + 0.0000i
   0.0000 + 0.0000i   0.0002 + 0.0000i   0.0158 + 0.0000i
   0.0000 + 0.0000i   0.0002 + 0.0000i   0.0189 + 0.0000i
   0.0000 + 0.0000i   0.0003 + 0.0000i   0.0289 + 0.0000i
   0.0000 + 0.0000i   0.0004 + 0.0000i   0.0388 + 0.0000i
   0.0000 + 0.0000i   0.0005 + 0.0000i   0.0488 + 0.0000i
   0.0000 + 0.0000i   0.0006 + 0.0000i   0.0588 + 0.0000i
   0.0000 + 0.0000i   0.0010 + 0.0000i   0.0932 + 0.0000i
   0.0000 + 0.0000i   0.0014 + 0.0000i   0.1277 + 0.0000i
   0.0000 + 0.0000i   0.0018 + 0.0000i   0.1622 + 0.0000i
   0.0000 + 0.0000i   0.0021 + 0.0000i   0.1966 + 0.0000i
   0.0000 + 0.0000i   0.0035 + 0.0000i   0.3255 + 0.0000i
   0.0000 + 0.0000i   0.0049 + 0.0000i   0.4543 + 0.0000i
   0.0000 + 0.0000i   0.0063 + 0.0000i   0.5832 + 0.0000i
   0.0000 + 0.0000i   0.0077 + 0.0000i   0.7120 + 0.0000i
   0.0000 + 0.0000i   0.0134 + 0.0000i   1.2377 + 0.0000i
   0.0000 + 0.0000i   0.0190 + 0.0000i   1.7634 + 0.0000i
   0.0000 + 0.0000i   0.0247 + 0.0000i   2.2891 + 0.0000i
   0.0000 + 0.0000i   0.0304 + 0.0000i   2.8148 + 0.0000i
   0.0000 + 0.0000i   0.0324 + 0.0000i   2.9998 + 0.0000i
   0.0000 + 0.0000i   0.0344 + 0.0000i   3.1849 + 0.0000i
   0.0000 + 0.0000i   0.0364 + 0.0000i   3.3699 + 0.0000i
   0.0000 + 0.0000i   0.0384 + 0.0000i   3.5550 + 0.0000i
回复 不支持

使用道具 举报

 楼主| 发表于 2010-10-11 19:00:53 | 显示全部楼层 来自 西安交通大学
可以帮忙解决下不,谢谢啊
回复 不支持

使用道具 举报

发表于 2010-10-11 19:09:45 | 显示全部楼层 来自 黑龙江牡丹江
可能是你的方程在t=1.7时,方程会出现复数,比如负数开偶次方。
回复 不支持

使用道具 举报

发表于 2010-10-11 20:23:57 | 显示全部楼层 来自 湖南湘潭
5# lxx244lxx
提示pb已赋值,但没用上。
再仔细检查一下,如果确信微分方程没有问题的话,可以通过odeset改变一下ode45,ode23s等函数的参数,如最大步长等。。。
odeset
          AbsTol: [ positive scalar or vector {1e-6} ]
          RelTol: [ positive scalar {1e-3} ]
     NormControl: [ on | {off} ]
     NonNegative: [ vector of integers ]
       OutputFcn: [ function_handle ]
       OutputSel: [ vector of integers ]
          Refine: [ positive integer ]
           Stats: [ on | {off} ]
     InitialStep: [ positive scalar ]
         MaxStep: [ positive scalar ]
             BDF: [ on | {off} ]
        MaxOrder: [ 1 | 2 | 3 | 4 | {5} ]
        Jacobian: [ matrix | function_handle ]
        JPattern: [ sparse matrix ]
      Vectorized: [ on | {off} ]
            Mass: [ matrix | function_handle ]
MStateDependence: [ none | {weak} | strong ]
       MvPattern: [ sparse matrix ]
    MassSingular: [ yes | no | {maybe} ]
    InitialSlope: [ vector ]
          Events: [ function_handle ]

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2010-10-11 22:25:01 | 显示全部楼层 来自 西安交通大学
谢谢啊,我用四阶龙格库特法算选用定步长的时候也是这样,不知道怎么回事。莫非真的是方程问题。。
回复 不支持

使用道具 举报

 楼主| 发表于 2010-10-12 11:18:54 | 显示全部楼层 来自 西安交通大学
您好,我知道溢出的原因了,是因为积分到一定程度,y(2)的值超过1会产生负数,我想能不能当y(2)=1时,y(2)停止积分,就让他=1,让y(1)和y(3)继续积分,不知道这样应该怎么处理。
回复 不支持

使用道具 举报

发表于 2010-10-12 15:25:00 | 显示全部楼层 来自 湖南湘潭

  1. close all;
  2. clear all;
  3. X0 = [ 0; 0; 500 ];
  4. tspan = [ 0 1.7 ];
  5. [ x, y ] = ode45(@ODE1, tspan, X0);
  6. plot(x, y);
  7. figure(gcf);
  8. y(:,2)
复制代码

  1. function dy = ODE1(x, y)

  2. dy = zeros(3,1);
  3. r = 0.05;
  4. H1 = 206000;
  5. H2 = 165000;
  6. Cp = 35.77;
  7. F = 0.096;
  8. Fco = 0.00672;
  9. Fco2 = 0.00192;
  10. pb = 1175000;

  11. dy(1) = (pi*r*r/Fco)*22656346.5*exp( -84816.7/8.314/y(3)) * (70*(1 - y(1))/(100 - 14*y(1) - 4*y(2)))^0.4734;
  12. if y(2) <= 1
  13.     dy(2) = (pi*r*r/Fco2)*1070043499*exp( -105802.4/8.314/y(3)) * (20*(1 - y(2))/(100 - 14*y(1) - 4*y(2)))^0.000945;
  14. else
  15.     dy(2) = 0;
  16. end
  17. dy(3) = (pi*r*r/F/Cp) * (22656346.5*exp( -84816.7/8.314/y(3)) * (70*(1 - y(1))/(100 - 14*y(1) - 4*y(2)))^0.4734*H1 + ...
  18.         1070043499*exp( -105802.4/8.314/y(3)) * (20*(1 - y(2))/(100 - 14*y(1) - 4*y(2)))^0.000945*H2);
复制代码

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2010-10-13 09:40:58 | 显示全部楼层 来自 西安交通大学
谢谢啊,可以了,虽然稍微有点不准
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-6 17:26 , Processed in 0.072322 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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