求C语言高手解一道初级题~急~
用WHILE,DO-WHILE,FOR循环语句解题用牛顿迭代法求方程((2X-4)X+3)-6在1.5附近的根题目错了方程是((2X-4)+3)X-6...
用WHILE ,DO-WHILE,FOR循环语句解题
用牛顿迭代法求方程((2X-4)X+3)-6在1.5附近的根
题目错了方程是((2X-4)+3)X-6 展开
用牛顿迭代法求方程((2X-4)X+3)-6在1.5附近的根
题目错了方程是((2X-4)+3)X-6 展开
3个回答
展开全部
/*
牛顿迭代法的递推公式:x=x-f(x)/f'(x)........注意等号左右的x意义不同
例如,原题f(X)=((2X-4)+3)X-6=2X^2-X-6
求得f'(X)=4X-1
所以迭代公式为:f(X(n))=X(n-1)-(2X(n-1)^2-X(n-1)-6)/(4X(n-1)-1)
程序如下:
*/
#include<stdio.h>
#include<stdlib.h>
//原函数
#define F(X) (((2*X-4)+3)*X-6)
//原函数的导数
#define F_(X) (4*X-1)
double f(double x)
{
return x-F(x)/F_(x);
}
int main(void)
{
double result = 1.5;
int n;
printf("Input iterative times:");
scanf("%d", &n);
if(n<=0)
{
printf("error input data!");
exit(0);
}
while(n--)
{
result = f(result);
}
printf("result:%lf\n", result);
return 0;
}
牛顿迭代法的递推公式:x=x-f(x)/f'(x)........注意等号左右的x意义不同
例如,原题f(X)=((2X-4)+3)X-6=2X^2-X-6
求得f'(X)=4X-1
所以迭代公式为:f(X(n))=X(n-1)-(2X(n-1)^2-X(n-1)-6)/(4X(n-1)-1)
程序如下:
*/
#include<stdio.h>
#include<stdlib.h>
//原函数
#define F(X) (((2*X-4)+3)*X-6)
//原函数的导数
#define F_(X) (4*X-1)
double f(double x)
{
return x-F(x)/F_(x);
}
int main(void)
{
double result = 1.5;
int n;
printf("Input iterative times:");
scanf("%d", &n);
if(n<=0)
{
printf("error input data!");
exit(0);
}
while(n--)
{
result = f(result);
}
printf("result:%lf\n", result);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询