24小时热门版块排行榜    

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

longmaomao

铁虫 (初入文坛)

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

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

longmaomao

铁虫 (初入文坛)

引用回帖:
10楼: Originally posted by feixiaolin at 2013-09-27 00:03:07
例如1楼cos() 变成-sin();...

我用(-sin(u_(i)^(j+1))+sin(u_(i)^(j)))算了感觉还是不理想 但是我对初值进行了改变之后:不要取初值ua等于上一次的迭代值,效果可以但是迭代次数增加了!!
11楼2013-09-28 00:04:43
已阅   回复此楼   关注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的回帖
信息提示
请填处理意见