導航:首頁 > 信息技術 > 自動微分法需要什麼技術

自動微分法需要什麼技術

發布時間:2023-01-02 00:53:40

❶ 數值微分法用通俗的語言解釋一下它的實現方法

就是求導了!
作差,求商,求極限唄
參考:http://ke..com/view/295773.htm
數學分析裡面有的
根據函數在一些離散點的函數值,推算它在某點的導數或高階導數的近似值的方法。通常用差商代替微商,或者用一個能夠近似代替該函數的較簡單的可微函數(如多項式或樣條函數等)的相應導數作為能求導數的近似值。例如一些常用的數值微分公式(如兩點公式、三點公式等)就是在等距步長情形下用插值多項式的導數作為近似值的。此外,還可以採用待定系數法建立各階導數的數值微分公式,並且用外推技術來提高所求近似值的精確度。當函數可微性不太好時,利用樣條插值進行數值微分要比多項式插值更適宜。如果離散點上的數據有不容忽視的隨機誤差,應該用曲線擬合代替函數插值,然後用擬合曲線的導數作為所求導數的近似值,這種做法可以起到減少隨機誤差的作用。數值微分公式還是微分方程數值解法的重要依據。

另請參考:http://www.fjtu.com.cn/fjnu/courseware/0329/course/_source/web/lesson/char7/j1.htm

下面是一個包含了簡單差商的C代碼,是我寫給別人的,椐說有點錯誤,但我因為這不影響你理解差商
0 0.5 1.0 1.5 2.0 2.5
0.84147 0.85770 0.89924 0.94898 0.98777 0.99955

要求:
1.根據上表,計算差商表,並列印出來.
2.列印出Newton插值多項式.
3.計算f(1.673),用3次Newton插值多項式.
4.計算f(0.618),用5次Newton插值多項式.
根據以上要求,請用C或C++編寫個程序.

#include<math.h>
#include<stdio.h>
#include<stdlib.h>
typedef struct data
{float x;
float y;}Data;
void scan(Data* a)
{float x,y;
scanf("%f%f",&x,&y);
(*a).x=x;
(*a).y=y;}
float f(Data *d,int s,int t)
{
if(t==s+1) return (d[t].y-d[s].y)/(d[t].x-d[s].x);
else return (f(d,s+1,t)-f(d,s,t-1))/(d[t].x-d[s].x);
}
float Newton(Data *d,float x)
{float t=1.0;
float y=d[0].y;
float yt=0;
int j,n;
while(1){
printf("\ninput n:");
scanf("%d",&n);
if(n<20) break;
else system("cls");}
for(j=1;j<=n;j++){
t=(x-d[j-1].x)*t;
yt=f(d,0,j)*t;
printf("%f\n",f(d,0,j));
y=y+yt;}
return y;
}
main(){
Data d[20];
Data *p=d;
int i,n;
float y,x;
printf("\ninput arrey ( <20 ):" );
scanf("%d",&n);
for(i=0;i<n;i++) scan(p+i);
printf("\ninput x:");
scanf("%f",&x);
y=Newton(d,x);
printf("\nji guowei:%f",y);
}

閱讀全文

與自動微分法需要什麼技術相關的資料

熱點內容
有渣男一直發信息給自己怎麼辦 瀏覽:455
日本區塊鏈交易所要怎麼辦理 瀏覽:861
怎麼寫市場調查報告單 瀏覽:695
電腦怎麼連數據線流量 瀏覽:820
安徽水仙怎麼代理 瀏覽:329
什麼是技術者倫理 瀏覽:633
哪裡有微信小程序專業平台 瀏覽:515
東莞大牌毛衣哪個市場最多 瀏覽:165
加盟代理權如何加上自己的名字 瀏覽:435
顯卡怎麼做代理 瀏覽:388
衡水勞務代理如何辦理 瀏覽:987
小程序如何使用oss圖片 瀏覽:586
印度菜市場為什麼在鐵路上 瀏覽:79
銷售代理書怎麼寫 瀏覽:942
青海晶珠葯業主要有哪些產品 瀏覽:299
淘寶里的交易詳細在哪裡 瀏覽:55
山東燕京啤酒代理多少錢 瀏覽:88
鐵路內部系統旅客信息多久刪除 瀏覽:177
中學學什麼技術好 瀏覽:996
數據流氧感測器電壓高是什麼問題 瀏覽:918