社区
数据结构与算法
帖子详情
求:利用迭代法求非线性方程x^3-3x-1=0的三个实数根(∑=10^-8)的C程序 高人进啊~~~救命啊~~~
charlen
2005-05-13 10:33:28
最好能够分别用简单迭代法,牛顿迭代法,和快速弦截法编写
希望高人能够指点 谢谢~~~~
...全文
2087
8
打赏
收藏
求:利用迭代法求非线性方程x^3-3x-1=0的三个实数根(∑=10^-8)的C程序 高人进啊~~~救命啊~~~
最好能够分别用简单迭代法,牛顿迭代法,和快速弦截法编写 希望高人能够指点 谢谢~~~~
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhang_jiang
2005-05-15
打赏
举报
回复
弦截法:
同牛顿迭代法一样, 使用x_(k+1)=x_k-f(x_k)/(f'(x_k))
但是求f'(x_k)的时候用差商来求. 即f'(x_k)=(f(x_k)-f(x_(k-1)))/(x_k-x_(k-1))
cuixiping
2005-05-14
打赏
举报
回复
干嘛那么复杂?高中不是有学过一元三次方程的根是有公式的吗?直接用公式可以了。
zhang_jiang
2005-05-14
打赏
举报
回复
加快收敛速度的牛顿下山法:
f(int x0)
{
int r;
int x, x1;
x1=x=x0;
do
{
r=1.0;
x1 = x - (x*x*x-3*x-1)/(3*x*x-3);
while(fabs(x*x*x-3*x-1)>fabs(x1*x1*x1-3*x1-1))
{
r/=2.0;
x1 = x - r*(x*x*x-3*x-1)/(3*x*x-3);
}
}while(fabs(x-x1)<1.0e-8);
}
另: 上面牛顿法中的while(abs(...)<1.0e-8) -> while(fabs(...)<1.0e-8)
zhang_jiang
2005-05-14
打赏
举报
回复
> 这样只能算出一个根来。牛顿迭代要先求出导函数表达式,根据导函数的正负应该可以预估3个初始解。
每次当然只能求一个根了, 要看你给的猜解在哪个范围, 以及它怎么收敛了.
zhang_jiang
2005-05-14
打赏
举报
回复
牛顿迭代法:
f(int x0)
{
int x, x1;
x = x0; // 自己给定猜解
do{
x1 = x - (x*x*x - 3*x -1)/(3*x*x-3);
}while(abs(x-x1)<1.0e-8); // 最后的x1就是解
}
NowCan
2005-05-14
打赏
举报
回复
这样只能算出一个根来。牛顿迭代要先求出导函数表达式,根据导函数的正负应该可以预估3个初始解。
zhang_jiang
2005-05-14
打赏
举报
回复
简单迭代:
x^3-3x-1=0
=> x = (3x + 1)^(1/3)
先假设一个解x0, 每次将x0代入上式右边, 求得左边的x, 然后比较x, x0,
若|x-x0|<10^(-8), 结束, 否则, x0<-x, 继续上面过程.
charlen
2005-05-14
打赏
举报
回复
谢谢各位的指点~
但有没有人能用快速弦截法编写一下啊~
谢谢
中国教育信息化行业市场现状及发展趋势分析-云计算助力智能化校园发展.docx
中国教育信息化行业市场现状及发展趋势分析-云计算助力智能化校园发展.docx
液晶显示器底座塑料模具的CADCAE技术运用.docx
液晶显示器底座塑料模具的CADCAE技术运用.docx
营销学视角下的媒介批评-以网络综艺节目《火星情报局》为例分析.docx
营销学视角下的媒介批评-以网络综艺节目《火星情报局》为例分析.docx
TalkingData+大数据技术与应用实践.pptx
TalkingData+大数据技术与应用实践.pptx
基于在线互动平台的混合式深度学习研究.docx
基于在线互动平台的混合式深度学习研究.docx
数据结构与算法
33,027
社区成员
35,335
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章