我想寫一個函數來計算多項式函數的導數。 degr
是多項式的次數,arr
是包含多項式係數的數組。我想要計算點t
處的導數。如何計算多項式導數?
以下是我的嘗試,但總是返回0
。我不明白什麼是錯的。
float derv(int degr,int arr[],float t)
{
int i,n;
float sum=0;
float arr2[degr+1];
for (i=0;i<degr+1;i++) {
arr[i]=(arr[i]*(i+1));
}
degr=degr-1;
for (i=0;i<degr+1;i++)
{
arr2[i] = (pow(t,degr-i)*arr[i]);
}
for(n=0;n<degr+1;n++)
{
sum = sum + arr2[n];
}
return sum;
}
另外,你嘗試添加打印語句(或使用調試器)檢查中間值的值? – 2012-07-11 20:27:16
另外,你最好做數字... – 2012-07-11 20:30:39
在哪裏宣佈...?編輯:啊,格式化固定... – bcr 2012-07-11 20:31:29