?? 一維區間消去法.c
字號:
#include <math.h>
#include <stdio.h>
/* 函數 f(x)=(x-3)2 */
double f(double x)
{ return (x-3)*(x-3);
}
/* 求搜索區間[a,b]的函數, x0---初始點; h0---初始步長 */
void main(void)/* 參照流程圖自己寫出外推法(進退法)程序的內容 */
{
double x0,a1,y1,a2,y2,a3,y3,h;
x0=0; h=1;
a1=x0; y1=f(a1);
a2=a1+h; y2=f(a2);
if(y2>y1)
{
h=-h;
a3=a1;a1=a2;a2=a3;
y3=y1;y1=y2;y2=y3;
}
a3=a2+h;y3=f(a3);
while(y3<y2)/*表達式為0時跳出循環*/
{
h=2*h;
a1=a2;y1=y2;
a2=a3;y2=y3;
a3=a2+h;y3=f(a3);
}
if(h<0)
{a2=a1;a1=a3;a3=a2;
}
printf("a1=%f\n",a1);
printf("a3=%f\n",a3);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -