首页 > 编程知识 正文

c语言双线性插值法,c语言找最大值

时间:2023-05-05 13:54:57 阅读:114588 作者:311

二次插值法c语言fqdwl

二次插值法c语言fqdwl

#include'stdio.h '

#include'math.h '

#include'conio.h '

Void主() )

{

float*area(floata1,float p,float a[3];

浮动(浮动);

浮点Ar、fr;

浮动a1=10,p=0.01,e=0.000001;

浮点帕[3];

AREA(A1,p,pa );

a1=pa[0];

float a2=pa[1];

浮动a3=pa [2];

浮动f1=f (a1;

floatF2=f(A2;

浮动F3=f (a3;

德奥

{

ar=(a3*a3-a2*a2 ) F1 ) a1*a1-a3*A3 ) F2 ) a2-a1*A1 ) F3 );

ar=ar/2/((A3-A2 ) F1 ) A1-A3 ) F2 ) A2-A1 ) F3 );

fr=f(ar;

是if(ara2)

{if(FrF2 ) ) )。

{ a3=ar; f3=fr; }

elseif(fr

{ a1=a2; f1=f2;

a2=ar; f2=fr; }

else

{ a3=ar; a1=a2; A2=(A1A3 )/2;

f1=f2; f3=fr; F2=F(A2; }

}

elseif(ar

{if(FrF2 ) ) )。

{ a1=ar; f1=fr; }

elseif(fr

{ a3=a2; f3=f2;

a2=ar; f2=fr; }

else

{ a1=ar; a3=a2; A2=(A1A3 )/2;

f1=fr; f3=f2; F2=F(A2; }

}

if(Fabs(a1-a3 )=e ) break;

(while ) 1;

if(f2 )

{ ar=a2; fr=f2; }

printf((NX=%f(nf ) x* )=%f )、ar、fr );

}

浮动* area (浮动a1,浮动p,浮动a [3] ) )。

{

浮动(浮动);

浮动a2、f2、a3、f3、temp;

浮动ACC=0.00001;

浮动f1=f (a1;

浮动条=p;

while(1)。

{ a2=a1 p; F2=F(A2;

if(F2=F1 ) )。

({if(FABS(F2-F1 ) ) ) ) ) ) ) ) )。

p=p/2;

else

p=-p;

}

else break;

}

while(1)。

{ a3=a2 p; F3=F(A3;

if(F2=F3 ) break;

p=2*p;

a1=a2; f1=f2;

a2=a3; f2=f3;

}

if(a1a3 ) )。

{ temp=a1; a1=a3; a3=temp; }

a[0]=a1; a[1]=a2; a[2]=a3;

返回a;

}

是浮动(浮动)

{

floaty=pow(Fabs(x-1 )、1.5 (pow ) fabs (x-1 )、2.7 );

返回y;

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。