C語言 範例1-13 已知不明分行物體, 經光測儀器之量測,印出Hermite 差除表
範例1-13 已知不明分行物體, 經光測儀器之量測其結果如下
=========================================
時間 位置 飛行速度
x f(x) f ' (x)
0 50.00 50.00
2 216.67 94.44
4 410.00 98.00
=========================================
印出Hermite 差除表
程式
/* ex1-13.c To generate the coeffficients for
* Hermite Interpolating Polynomial H on the distinct numbers
* x0,x1,x2,...with f0,f1,f2,... and f'0,f'1,f'2...
* based on the Newton backward divided-difference Algorithm
* and output the divided_difference table for Hn(x).
*/
#include <stdio.h>
int main()
{
int i,j,k,n;
double x[30],z[30],q[30][30],f[30],ff[30];
printf("input n=");
scanf("n=%d",&n);
for(i=0;i<=n;i++)
{
printf("input x=");
scanf("%lf",&x[i]);
printf("input f=");
scanf("%lf",&f[i]);
printf("input ff=");
scanf("%lf",&ff[i]);
}
printf("i z(i) f(i) f(i-1,i) f(i-2,i-1,i)...\n");
for(i=0;i<=n;i++)
{
z[2*i]=x[i];
z[2*i+1]=x[i];
q[2*i][0]=f[i];
q[2*i+1][0]=f[i];
q[2*i+1][1]=ff[i];
if(i !=0)
q[2*i][1]=(q[2*i][0]-q[2*i-1][0])/(z[2*i]-z[2*i-1]);
if(i==0)
printf("%d %3.1lf %7.4lf\n",i,z[i],q[i][0]);
else if(i==1)
printf("%d %3.1lf %7.4lf %7.4lf\n",i,z[i],q[i][0],q[i][1]);
}
for(i=2;i<=2*n+1;i++)
{
printf("%d %3.1lf %7.4lf %7.4lf",i,z[i],q[i][0],q[i][1]);
for(j=2;j<=i;j++)
{
q[i][j]=(q[i][j-1]-q[i-1][j-1])/(z[i]-z[i-j]);
printf(" %7.4lf",q[i][j]);
}
printf("\n");
}
return 0;
}
輸入資料
n=2
0.0 50.0 50.0
2.0 216.67 94.44
4.0 410.00 98.00
輸出畫面
input n=input x=input f=input ff=input x=input f=input ff=input x=input f=input ff=
i z(i) f(i) f(i-1,i) f(i-2,i-1,i)...
0 0.0 50.0000
1 0.0 50.0000 50.0000
2 2.0 216.6700 83.3350 16.6675
3 2.0 216.6700 94.4400 5.5525 -5.5575
4 4.0 410.0000 96.6650 1.1125 -1.1100 1.1119
5 4.0 410.0000 98.0000 0.6675 -0.2225 0.2219 -0.2225
Hn(x)= 50 + 50 (x-0.0) + 16.6675 (x-0.0)^2 + -5.5575 (x-0.0)^2 (x-2.0)
+ 1.1119 (x-0.0)^2 (x-2.0)^2 + -0.2225 (x-0.0)^2 (x-2.0)^2 (x-4.0)
訂閱:
張貼留言 (Atom)
Messaging API作為替代方案
LINE超好用功能要沒了!LINE Notify明年3月底終止服務,有什麼替代方案? LINE Notify將於2025年3月31日結束服務,官方建議改用Messaging API作為替代方案。 //CHANNEL_ACCESS_TOKEN = 'Messaging ...
-
python pip 不是内部或外部命令 -- 解決方法 要安裝 Pyqt5 1. 首先,開啟命令提示字元。 2. 輸入 pip3 install pyqt5 好像不能執行 ! ! 錯誤顯示 : ‘ pip3 ’ 不是內部或外部命令、可執行的程式或批...
-
課程講義 下載 11/20 1) PPT 下載 + 程式下載 http://www.mediafire.com/file/cru4py7e8pptfda/106%E5%8B%A4%E7%9B%8A2-1.rar 11/27 2) PPT 下載...
-
• 認 識 PreFix、InFix、PostFix PreFix(前序式):* + 1 2 + 3 4 InFix(中序式): (1+2)*(3+4) PostFix(後序式):1 2 + 3 4 + * 後 序式的運算 例如: 運算時由 後序式的...
沒有留言:
張貼留言