求C语言编程 编程二次插值法求fx=(X-3)^2最优解初始区间[a,b]=[1,7]精度0.01
- C语言二次插值法求f(x)=3x^3-4x+2=0
- 试用二次插值法求函数f(x)=8x^3-2 x^2-7x+3的最优解,初始区间为[0,2],精度为0.01.
- 用黄金分割法求f(x)=(x-3)的最优解 附C语言程序
- c++编程:用二次插值法求目标函数f(x)=x^2+2x-6的最优解。给定初始区间[-3,5],收敛精度&=0.05.
C语言二次插值法求f(x)=3x^3-4x+2=0
#include<stdio.h>
double fun(double x)
{//多项式
double a[]={2,-4,0,3};
double sum;
int n=4;
n--;
sum=a[n];
while(--n >= 0)
sum=sum*x+a[n];
return sum;
}
typedef double (*Function)(double);
double cal(Function f,double a,double b,double e)
{
double a1,a2,a3,t_a2,t;
a1=a;a3=b;a2=(a+b)/2;
while(1)
{
t=((f(a3)-f(a2))/(a3-a2)-(f(a2)-f(a1))/(a2-a1))/(a3-a1);
t_a2=((a1+a2)*t-(f(a2)-f(a1))/(a2-a1))/(2*t);
if(t_a2-a2 < e && t_a2-a2 > -e)break;
if(t_a2 > a2)a1=a2;
else a3=a2;
a2=t_a2;
}
return f(t_a2);
}
void main()
{
printf("%lf\n",cal(fun,0,2,0.01));
}希望能帮到你 望采纳 谢谢
试用二次插值法求函数f(x)=8x^3-2 x^2-7x+3的最优解,初始区间为[0,2],精度为0.01.
给些参考,不想计算了
mdesign.tyut.edu/kuai_su/youhuasheji/suanfayuanli/2.3.asp
用黄金分割法求f(x)=(x-3)的最优解 附C语言程序
黄金分割法其实也是Fibonacci法吧!!!因为对于Fibonacci数列,有f(n)/f(n-1)-→0.618...... 这题解法我是参考hi.baidu/shyyooeren/blog/item/d74f42104e8ef9f9c2ce7902.html, 只是改了多项式和Fibonacci数列用黄金分割数来求而已(需要改的还有x的范围(a,b))! #include
c++编程:用二次插值法求目标函数f(x)=x^2+2x-6的最优解。给定初始区间[-3,5],收敛精度&=0.05.
最优解指的是最大或最小?
采纳哦