24小时热门版块排行榜    

查看: 3373  |  回复: 15
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

longmaomao

铁虫 (初入文坛)

[求助] matlab数值计算时迭代项分母为零的时候怎么办?

matlaB编程的时候如果迭代项出现:
cos(u_(i)^(j+1))-cos(u_(i)^(j))/(u_(i)^(j+1))-u_(i)^(j)))怎么办?求助!!!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

墓中无人

铁虫 (初入文坛)

引用回帖:
11楼: Originally posted by longmaomao at 2013-09-28 00:04:43
我用(-sin(u_(i)^(j+1))+sin(u_(i)^(j)))算了感觉还是不理想 但是我对初值进行了改变之后:不要取初值ua等于上一次的迭代值,效果可以但是迭代次数增加了!!...

请问楼主这个问题解决了没有,我现在也遇到同样的问题,设a=f(x)/g(x),   
  f(x)和g(x)为正弦曲线,理论上分析结果a应该是一个常值,但是做仿真时,  f(x)和g(x)会有同时趋于零的点,所以a的值会发生跳变。我有两个疑问:(1)我看了一下 f(x)和g(x)在趋于零点处的数量级才为10的-13次方和10的-14方,这个可以认为它们趋于零么,那么此时可以采用洛必达法则进行修正吗???(2)我看你在前几楼有说到洛必达法则的离散应用,有这个说法吗,请问是如何应用的,不是直接对分子分母求导数就可以的吗???
路在何方,你又在哪里?
15楼2013-10-06 10:01:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 16 个回答

yongcailiu

金虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
这种情况要特殊考虑和处理,可以考虑当分母绝对值小于某个很小很小的正数(在C里一般是1e-8,matlab里面不清楚设置多大合理),进行其他的处理。
2楼2013-09-26 09:02:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

山海一色

木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
在分母为零时略过,踢出运算即用一个很小包含零的小区间保护起来不运算。
3楼2013-09-26 09:08:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feixiaolin

荣誉版主 (文坛精英)

优秀版主

增加判断语句,用一个很小的数代替0,避免/0出现。
4楼2013-09-26 11:00:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见