永发信息网

改成VBA牛顿迭代法求方程

答案:2  悬赏:40  手机版
解决时间 2021-02-28 07:29
改成VBA牛顿迭代法求方程

#include
#include
main()
{
float solution(float a,float b,float c,float d);
float a,b,c,d,x;
printf("请输入方程的系数:");
scanf("%f %f %f %f",&a,&b,&c,&d);
x=solution(a,b,c,d);
printf("所示方程的根x=%f",x);
}
float solution(float a,float b,float c,float d)
{
float x0,x=1.5,f,fd,h;
do
{
x0=x;
f=a*x0*x0*x0+b*x0*x0+c*x0+d;
fd=3*a*x0*x0+2*b*x0+c;
h=f/fd;
x=x0-h;
}
while(fabs(x-x0)>=1e-5);
return x;
}
最佳答案
Sub main()
Dim a!, b!, c!, d!, x!
a = InputBox("a=", "请输入方程的系数:")
b = InputBox("b=", "请输入方程的系数:")
c = InputBox("c=", "请输入方程的系数:")
d = InputBox("d=", "请输入方程的系数:")
x = solution(a, b, c, d)
Debug.Print "所示方程的根x="; x
End Sub
Function solution!(ByVal a!, ByVal b!, ByVal c!, ByVal d!)
Dim x0!, x!, f!, fd!, h!
x = 1.5
Do
x0 = x
f = a * x0 * x0 * x0 + b * x0 * x0 + c * x0 + d
fd = 3 * a * x0 * x0 + 2 * b * x0 + c
h = f / fd
x = x0 - h
Loop While (Abs(x - x0) >= 0.00001)
solution = x
End Function
全部回答
用^即可表示上标,10^(-5)可以表示10的-5次方。 #include #include double f( double x ) { return x * x * x + 9.2 * x * x + 16.7 * x + 4; } double fdx( double x ) { return 3 * x * x + 18.4 * x + 16.7; } int main( ) { int t1 = 0, t2 = 1; double x[ 2 ], ep = 1e-5; x[ 0 ] = 0; do { t1 = 1 - t1; t2 = 1 - t2; x[ t1 ] = x[ t2 ] - f( x[ t2 ] ) / fdx( x[ t2 ] ); } while( fabs( x[ t1 ] - x[ t2 ] ) > ep ); printf("%lf\n", x[ t1 ]); return 0; }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
信佛的人都不会撞邪吗 我外公去世半年了 今天
用霜组成的成语
200元买一台减震的21速车,质量怎样?是不是
小易副食批发部在哪里啊,我有事要去这个地方
为什么很多用手机的人不推荐用360手机卫士?
焓变怎么算
龙湾农村商业银行24小时自助银行(滨海园区支
4.8×6分之五减八分之三+12分之七的和
哪有批发窗帘的,我想卖成品窗帘,郑州的
当今世界人们已面临严重的水资源危机,漫画中
兴光华复印在什么地方啊,我要过去处理事情
我家的tcl电视3d眼镜是4个镜片,电视上显示要
广字头怎么写,来讨论讨论
坐月子可以吃金针菇,蘑菇这些吗
女孩小时候坐过心脏手术,结婚后能生小孩吗
推荐资讯
土豆滚刀块怎么切视频
富春山居图简介 300字
想开间宾馆100万投资能到什么规模
我上问老师说多劳动的人很短命,用脑子的人会
手串有不许数佛头的说法吗
哪种圆柱头内六角螺钉头部能滚花
3D装饰广告地址有知道的么?有点事想过去
106涂料和仿瓷涂料有什么不同?
想去买衣服 可又没钱
现在千足金多少钱一克?
时代联华购物广场在什么地方啊,我要过去处理
夫妻之间钱没从到一起,到最后会离婚吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?