jun 发表于 2010-10-4 20:39

fsolve的初值问题

我再解一个代数微分方程,因为各个部分都比较复杂,所以是自己编程求解的,用显示积分的分块解法,就是说代数和微分方程分别求解。微分方程的求解使用的是gill的四阶r-k法(r-k-g),代数方程部分也比较复杂,算是非线性高次方程组,使用的是matlab里面的fsolve函数。整个求解的部分大概是反复调用500多次的样子。预期的结果是随时间的变化,解在标幺值附近波动。但是解出来的波形在某些点有突变,这应该是不可能的。在程序运行的时候,可以看到fsolve说初始值不好,找不到解,所以可能是这个原因出现的跳动。因为数值时缓慢波动的,所以我求解上个解作为下个fsolve的初值(因为两个数应该变化不会太大)。但是结果就是不理想,我看很多人都说fsolve初值敏感,但是因为在我的总程序里面还要用到matlab的其他工具,所以也不好用其他的软件,请问各位有没有什么办法么??

qibbxxt 发表于 2010-10-5 08:44

如果是用matlab的话的fsolve的话,一般的方法是多次随机取初值
页: [1]
查看完整版本: fsolve的初值问题