[英]Simplify algorithm with Horner Scheme
我有一個問題要解決以下練習:
*給出特殊多項式: 輸入:系數a [n],a [n-1],...,a [0],參數x
在C#或Pseudocode中創建一個算法,它將使用Horner的方法來求解x的特殊多項式。*
我創建了一個用Horner方法解決默認多項式函數的算法,但它不適用於特殊函數,因為指數是平方的。 我不知道如何修改算法以尊重平方指數,因為據我所知,Horner的方法不使用指數。 這是我的代碼:
int[] a = new int[] { 0, 3, 2, 1};//a[0] - a[n]
int n = 3;
int x = 2;
double r = a[n];
for (int i = n - 1; i >= 0; i--)
{
r = r * x + a[i];
}
Console.WriteLine(r);
我很感謝你的幫助!
4 * 4 = 1 + 3 + 5 + 7
x ^(4 * 4)= x ^ 1 * x ^ 3 * x ^ 5 * x ^ 7
a(4)* x ^(4 * 4)+ a(3)* x ^(3 * 3)+ a(2)* x ^(2 * 2)+ a(1)* x + a(0) =(((a(4)* x ^ 7 + a(3))* x ^ 5 + a(2))* x ^ 3 + a(1))* x ^ 1 + a(0)
您可以通過在每次迭代時將先前的奇數冪乘以x ^ 2來跟蹤x的奇數冪
讓我重新考慮一下鈍方法和Horner的方法來評估給定值x 0的單個變量x中的多項式aₙxⁿ+ ... + a2x2 + a1x + a0:
霍納的方法可以節省工作量,因為功率x 0必須提高到(更低)和(因為這個原因)更少(降低到只需要/使用x 0 )。
如何使用平方指數保存評估多項式的工作?
在計算更大的權力時重復使用較小的權力。
正如相鄰正方形相差和奇數2大於下一個較低的一對,相鄰的正方形權力的奇次冪開
下一個奇數功率是當前的一個乘以平方
評估從“最高系數”到最低
有權力評估備忘或明確保持權力(使用)。
最先設置它們可能是最簡單的。
是技巧 (仍然) 霍納的方法的組合 ?
你決定。 (以及您的導師/老師/面試官。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.