|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 非线性方程求根 看不懂题啊
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
937
人关注过本帖
标题:
非线性方程求根 看不懂题啊
只看楼主
加入收藏
都不懂啊
等 级:
新手上路
帖 子:2
专家分:1
注 册:2012-2-3
结帖率:
0
楼主
收藏
已结贴
√
问题点数:2 回复次数:8
非线性方程求根 看不懂题啊
时间限制: 1000 毫秒内存限制: 32768 K字节
判题规则:严格比较
问题描述
已知F(X) = COS(X) - X,X的初始值为3.14159/4,用牛顿法求解方程F(X)=0的近似解,也就是求X的值,结果保留小数点6位。
要求精确到10^(-6)。也就是,假设用x1表示前面求出来的解,用x2表示后面求出来的解,那么|x1-x2|<0.000001。
F(X)的牛顿法公式如图。
图片附件: 游客没有浏览图片的权限,请
登录
或
注册
图 1:
输入
(无)
输出
方程的解输入样列
(无)
输出样例
(无)
搜索更多相关主题的帖子:
方程
内存
小数点
2012-02-03 16:17
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
2
楼
收藏
得分:1
沒學過牛頓法是吧。
修改:先前看錯了,圖的公式是運算過的,直接給出答案,那個x[n+1]就是根值。
[
本帖最后由 TonyDeng 于 2012-2-3 17:32 编辑
]
授人以渔,不授人以鱼。
2012-02-03 17:15
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
3
楼
收藏
得分:0
這個求根法的步驟如下:
1.從給出的x[n]=π/4開始,按公式算出近似根x[n+1]
2.把前面算出的x[n+1]當作x[n]代入公式,重複第1步的運算,不斷逼近
3.在作第2步運算時,都要計算f(x[n+1])的值,與f(x[n])對比,看是不是符號相反,若是,則終止循環,表明根在x[n]和x[n+1]之間
4.在第3步要看x[n+1]和x[n]之差的絕對值是否落在指定的誤差範圍之內
[
本帖最后由 TonyDeng 于 2012-2-4 00:47 编辑
]
授人以渔,不授人以鱼。
2012-02-03 17:46
举报帖子
使用道具
赠送鲜花
pangding
来 自:北京
等 级:
贵宾
威 望:
94
帖 子:6784
专家分:16751
注 册:2008-12-20
第
4
楼
收藏
得分:1
就这道题来讲,第3步不用判断,循环着算应该就行了。
第4步是看 x[n+1] 和 x[n] 之差的绝对值,不是 f(x[n])。
2012-02-04 00:41
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
5
楼
收藏
得分:0
回复 4楼 pangding
哦,對,上面是我寫錯了。
授人以渔,不授人以鱼。
2012-02-04 00:46
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
6
楼
收藏
得分:0
至於第3步,還是做足功夫的好,畢竟寫牛頓法求根的代碼不是針對特定函數的,牛頓法本身就是為了求任何形式的函數而設。寫好代碼,以後改編函數(用參數傳遞)就可以了,不用改算法。
授人以渔,不授人以鱼。
2012-02-04 01:08
举报帖子
使用道具
赠送鲜花
pangding
来 自:北京
等 级:
贵宾
威 望:
94
帖 子:6784
专家分:16751
注 册:2008-12-20
第
7
楼
收藏
得分:0
反正要保证牛顿迭代法全局收敛是要一些条件的(主要是测试一二阶导数的值)。如果希望是这样,应该先测试条件。
如果可以保证局部收敛,那就要求选择合适的初始值(也是测试导数)。我一直觉得应该在施用之前测试一下相关的条件是否满足再调用,不行还得想办法换初值。
如果是想写通用一点函数,那很麻烦,如果它算出不收敛的情况,它返回什么值呢?c 也没什么异常处理的方法。
反正一般 OJ,我比较喜欢就题论题。不过考虑通常情况确实是好习惯。
2012-02-04 10:37
举报帖子
使用道具
赠送鲜花
有容就大
来 自:东土大唐
等 级:
版主
威 望:
74
帖 子:9048
专家分:14309
注 册:2011-11-11
第
8
楼
收藏
得分:1
貌似在讨论高等代数
梅尚程荀
马谭杨奚
2012-02-04 10:39
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
9
楼
收藏
得分:0
應該是確認有解和大概範圍後才調用函數,那可以通過圖像法定性判斷再做,函數只用於求數值根,儘量簡化需要人工干預的東西。對求導來說,計算機算法不必用公式也可以算出一階和二階導數(只用定義即可),因此,這樣的算法程序是不需要多少高數知識的,只要理解定義,初中生都能寫出來。
授人以渔,不授人以鱼。
2012-02-05 02:29
举报帖子
使用道具
赠送鲜花
9
1/1页
1
快速回复:
非线性方程求根 看不懂题啊
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.060979 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved