查看单个帖子
旧 2008-01-13, 04:19   #9
Jozgoo
初级会员
 
注册日期: 2008-01-11
年龄: 44
帖子: 6
声望力: 0
Jozgoo 正向着好的方向发展
默认

引用:
作者: fanxing39 查看帖子
哈哈,经过你的提醒,我明白了, 调整下" 相对误差容许上限" 就可以了
原程序中"ode45"命令前面先进行求解参数的修改,使得求解保证足够的精度
插入的命令如下:
options=odeset('RelTol',1e-7)%默认是0.0...

hehe 多谢阿 以前没注意这个问题 t=[0:0.1:2000] 本来以为可以设置 取t值间隔0.1
结果根本没效果

看了一下matlab的帮助文件,这个RelTol 还有 AbsTol 指的
似乎都是相对于函数值来说的

在函数值相对平缓的区域, 计算的过程中,自变量取值跨度会相当的大,不知道有什么
办法才可以直接控制自变量的精度

看帮助文件里面写可以直接设置 t = [t1,t2,...,tf], 在中间直接指定要计算的自变量值
但我试了一下,发现不行 如果我指定 t = [0,401,405,414,901,905,909,1500]
整个函数竟然变成直的了,全乱套了
Jozgoo 当前离线   回复时引用此帖