社区
VB基础类
帖子详情
牛顿迭代法
zcqbit
2008-06-14 06:13:49
函数F(X),其一阶倒数G(X)
用牛顿迭代法解F(x)=0
do until ABS(F(X))<0.0000 ‘当F(x)绝对值小于0.00001时停止循环返回x值
X=X—F(X)/G(X) ‘一阶迭代公式
LOOP
F(X)是对我输入的值进行累加或者累乘,比较复杂,输入的值有时候可以求出解来,有时候会弹出错误来,显示G(X)几乎为0
这个问题怎么解决?
...全文
458
5
打赏
收藏
牛顿迭代法
函数F(X),其一阶倒数G(X) 用牛顿迭代法解F(x)=0 do until ABS(F(X))<0.0000 ‘当F(x)绝对值小于0.00001时停止循环返回x值 X=X—F(X)/G(X) ‘一阶迭代公式 LOOP F(X)是对我输入的值进行累加或者累乘,比较复杂,输入的值有时候可以求出解来,有时候会弹出错误来,显示G(X)几乎为0 这个问题怎么解决?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zcqbit
2008-06-15
打赏
举报
回复
晕 这种具体的例子我找了很多了
你最后终止条件有问题 应该是f(x)接近0作为终止条件,而且应该是小于某个值
f(x)与f'(x) 的表达式 我也求出来了
f(x)=s(1) * s(2) - s(3) * s(4)
f'(x)= -(1 / X) * s(5) * s(6) * (1 / X) - 2 * (1 / X) * s(7) * s(8) * (1 / X) + (1 / X) * s(9) * (1 / X) * s(10) + 2 * (1 / X) * s(11) * (1 / X) * s(12)
其中数组s(i)也是是关于x的表达式比较复杂, 取x初值为0 最后计算结果应该是大于0的
——————————————————————————————————————————
我的问题是
在进行条件判断的时候,经常abs(f'(x))很小,因而abs(f(x)/f'(x))会很大,x=x-f(x)/f'(x)也会变化很大,看起来是收敛速度加快,实际上相当于一个恶性循环,一会f'(x))<1E-328=0了,作为分母就出错了
视觉与物联智能
2008-06-15
打赏
举报
回复
看看一个具体的例子吧
例如:用牛顿迭代法未方程2*x^3-4x^2+3x-6=0在1.5附近的根。代码如下:
dim x1 as double =1.5
dim x0 as double
dim f as double
dim f1 as double
do until abs((x1-x0)>1*exp-5)'精确度
x0=x1
f=((2*x0-4)*x0+3)*x0-6
f1=(6*x0-8)*x0+3
x1=x0-f/f1
Loop
print x1 '输出所要求的根
----------------------------------------
牛顿迭代法又称牛顿切线法,其公式如下:
f'(x0)=f(x0)/(x-x0)
x1=x0-f(x0)/f'(x0)
其中x0为根的接近值,f(x)为原方程,f'(x)为原方程的导数方程,x1为所求的根
用户 昵称
2008-06-15
打赏
举报
回复
嗯,用计算机按曲线画出来图形,用尺子量一下,也许真的管用,俺上学时好多参数都是查表法或图解法得到,这并不是无赖的方法,只不过不好使罢了。
zcqbit
2008-06-15
打赏
举报
回复
没懂 什么叫画出图形图解?
你说是通过程序来画图 然后图解?
用户 昵称
2008-06-15
打赏
举报
回复
不行的话画出图形图解。
【Matlab】
牛顿迭代法
实现
本文介绍了
牛顿迭代法
在数值计算中的应用,提供了通用的
牛顿迭代法
函数,并通过具体示例展示了如何寻找方程根的迭代过程。程序2分析了最大Delta值对迭代收敛性的影响,程序3则通过不同初始值的迭代结果展示了
牛顿迭代法
的收敛性和发散性。
牛顿迭代法
-matlab实现
本文详细介绍了
牛顿迭代法
在MATLAB中的实现过程,包括原函数、牛顿迭代函数及主程序代码,旨在帮助读者理解并掌握利用MATLAB进行
牛顿迭代法
求解方程根的方法。
牛顿迭代法
的MATLAB程序
本文详细介绍了MATLAB中实现
牛顿迭代法
的两种方式,包括简单的
牛顿迭代法
和增加迭代次数限制的
牛顿迭代法
。通过具体示例展示了如何使用MATLAB函数进行迭代计算,求解非线性方程的根。
用
牛顿迭代法
求方程的根
本文介绍如何使用
牛顿迭代法
求解形如 ax³ + bx² + cx + d = 0 的方程的一个实根。通过不断逼近的方法找到 x 在 1 附近的实根,采用 C 语言实现该算法。
MATLAB
牛顿迭代法
本文详细介绍了MATLAB中实现
牛顿迭代法
的过程,包括函数f(x)=0的泰勒级数展开,迭代公式推导,以及具体的MATLAB代码实现。通过一个一元函数的实例,展示了如何使用
牛顿迭代法
求解零点,并提供了调用函数的方法及运行结果。
VB基础类
7,787
社区成员
197,583
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章