l******g 发帖数: 3 | 1 在用NDSolve解DE的时候, 那本厚厚的手册里给出一些参数选项, 比如: AccuracyGoal,
PrecisionGoal, MaxSteps, StartingStepSize, MaxStepSize.
我在用NDSolve求解一个Time Dependent Defferential Equation, 需要对MaxSteps和
StartingStepSize选择合适的值才能给出正确的结果. 但是我不理解MaxSteps,
StartingStepSize的含义和他们之间的关系. 因此总是做不对. 恳请各位高手帮我,
不胜感激 | b******h 发帖数: 71 | 2 我总觉得用mathematica或者matlab这类软件解微分方程速度很慢。
是不是还是用C++来得快些。
至于这些Options的意义,我觉得你找一本数值分析的书看其中的
Runge-Kutta方法及变步长法应该就能知道它们的意思。
【在 l******g 的大作中提到】 : 在用NDSolve解DE的时候, 那本厚厚的手册里给出一些参数选项, 比如: AccuracyGoal, : PrecisionGoal, MaxSteps, StartingStepSize, MaxStepSize. : 我在用NDSolve求解一个Time Dependent Defferential Equation, 需要对MaxSteps和 : StartingStepSize选择合适的值才能给出正确的结果. 但是我不理解MaxSteps, : StartingStepSize的含义和他们之间的关系. 因此总是做不对. 恳请各位高手帮我, : 不胜感激
| c*******e 发帖数: 8624 | 3 根本不是一回事.为什么这么多人对RK这么感兴趣?
【在 b******h 的大作中提到】 : 我总觉得用mathematica或者matlab这类软件解微分方程速度很慢。 : 是不是还是用C++来得快些。 : 至于这些Options的意义,我觉得你找一本数值分析的书看其中的 : Runge-Kutta方法及变步长法应该就能知道它们的意思。
| b******h 发帖数: 71 | 4 什么不是一回事?
【在 c*******e 的大作中提到】 : 根本不是一回事.为什么这么多人对RK这么感兴趣?
| l**s 发帖数: 1 | 5 没有用过mathmatica,不负责任的泛泛的讲讲:)
因为有时间微分项,所以时间步长必然会影响效率
但很多问题在最初的瞬时解变化很大
所以最初的时候需要非常小的时间步长
随着解趋于稳定,后面的时间步长可以很大很大而不影响精度
但有时候解是振荡的,或者是个移动的波
所以最大时间步长始终不能太大
startingstepsize和maxsteps大概就起这么个控制作用
一般的ODEs和DAEs solver都有这个选项
著名的如dassl(fortran)和ode15s(matlab)
【在 l******g 的大作中提到】 : 在用NDSolve解DE的时候, 那本厚厚的手册里给出一些参数选项, 比如: AccuracyGoal, : PrecisionGoal, MaxSteps, StartingStepSize, MaxStepSize. : 我在用NDSolve求解一个Time Dependent Defferential Equation, 需要对MaxSteps和 : StartingStepSize选择合适的值才能给出正确的结果. 但是我不理解MaxSteps, : StartingStepSize的含义和他们之间的关系. 因此总是做不对. 恳请各位高手帮我, : 不胜感激
|
|