分段拋物線插值

2021-09-08 21:08:47 字數 2161 閱讀 5735

先輸入資料 兩個兩個的輸,中間用空格隔開,比如

please input data1: 11 11.08然後回車

依次輸入完五組資料

完了你想查某個溫度的溶解度,他要求你輸入溫度你輸入11.5

它就輸出對應的溶解度,然後他提示你是否繼續查溶解度,是就輸入y,想結束程式

就輸入n.

#include

#include

#define number 5

typedef struct

point;

double * parabola(point*, point*, point*);

double calculate(double* , double );

int main()

} while('n' != c)

//計算插值點的位子

if(2 * x <= (p[1].x + p[2].x)) n = 1;

else if(2 * x >= (p[number-2].x + p[number-1].x)) n = number - 2;

else n = (int)number / 2;

printf("%d\n", n);

f = parabola(&p[n-1],&p[n],&p[n+1]);//計算拋物線方程

y = calculate(f,x);//計算溶解度

printf("the solubility at this temperature is %lf\n", y);

printf("continue?(y/n) ");

scanf("%c", &c);

while(10 != getchar())

//釋放記憶體

free(f); }

return 0; }

//下面為計算拋物線方程的函式

//設拋物線函式為y = a * x^2 + b * x + c

//以下f[0]為a,f[1]為b,f[2]為c

double * parabola(point* p1, point* p2, point* p3)

temp1 = (p2->y - p1->y)/(p2->x - p1->x);

temp2 = (p3->y - p2->y)/(p3->x - p2->x);

f[0] = (temp2 - temp1)/(p3->x - p1->x);

f[1] = temp1 - f[0] * (p1->x + p2->x);

f[2] = p1->y - p1->x * (p1->x * f[0] + f[1]);

return f; }

//根據溫度計算溶解度

double calculate(double* f, double x)

//這裡是第二個程式

#include

#include

#define number 5

typedef struct

point;

double parabola(point*, point*, point*, double);

int main()

} while('n' != c)

//計算插值點的位子

if(2 * x < (p[1].x + p[2].x)) n = 1;

else if(2 * x > (p[number-2].x + p[number-1].x)) n = number - 2;

else n = (int)number / 2;

//printf("%d\n", n);

y = parabola(&p[n-1],&p[n],&p[n+1],x);

printf("the solubility at this temperature is %lf\n", y);

printf("continue?(y/n) ");

scanf("%c", &c);

while(10 != getchar())

} return 0; }

//直接套用公式計算溶解度

double parabola(point* p1, point* p2, point* p3, double x)

cad拋物線曲線lisp CAD能畫拋物線嗎?

方法一 1.在excel生成座標x,y列 x為分段值控制曲線精度,y為公式計算的對應值 2.假定excel中x數值在a列,y數值在b列,生成acad的pline繪圖資料,方法如下 1 在新的列單元 如c列 輸入公式 an bn n為資料的行號 按次辦法將an及bn單元格中的資料在cn單元格中形成 x...

拋物線交點式公式 拋物線公式大全

拋物線方程是指拋物線的軌跡方程,是一種用方程來表示拋物線的方法。在幾何平面上可以根據拋物線的方程畫出拋物線。拋物線在合適的座標變換下,也可看成二次函式影象。拋物線方程公式 一般式 ax2 bx c a b c為常數,a 0 頂點式 y a x h 2 k a h k為常數,a 0 交點式 兩根式 y...

android 拋物線動畫

拋物線動畫 根據拋物線方程式得出x軸,y軸的座標 x,y 再根據動畫使其移動,就完成乙個簡單的軌跡動畫.實現思路 自定義個view,隨著x軸的水平移動根據拋物線方程得到y軸的值,利用path畫出一條軌跡 在高出這條拋物線小人的高度再畫一天拋物線,這條拋物線就是小人的運動軌跡。直接上 自定義view ...