बहुपद: a0x^0 + a1x^1 + a2x^2 + A3X^3 + ... + anx^nलिए सबसे कारगर तरीका एक बहुपद
सरणी: array_a [] = {a0, A1, ए 2, ए 3 ... ए};
मैं जावा में इस बहुपद गणना करने के लिए एक समारोह लिखा है:
public double cal(double x) {
double y = 0.0;
for (int index = array_a.length - 1; index >= 0; index--) {
y = array_a[index] + y * x;
}
return y;
}
यह 5 बार पाश y += array_a[index] * Math.Pow(x, index);
लेकिन मैं सोच अगर वहाँ इस बहुपद गणना करने के लिए एक बेहतर तरीका है की तुलना में तेजी है?
** किसी के लिए यह सोचता है कि यह एक अलग गणना है: मैंने ऊपर दिए गए कार्य का परीक्षण किया था। यह y += array_a[index] * Math.Pow(x, index);
के साथ एक ही चीज़ करता है और वे एक ही परिणाम की गणना करते हैं।
धन्यवाद।
वह उपयोग करता है कि बहुपद एक 0 + x * (ए 1 + एक्स * (ए 2 + ...)) –
@ErwinBolwidt हाँ के बराबर है। मुझे पता है कि यह एक अलग गणना की तरह दिखता है। लेकिन यह वही काम करता है। आप देख सकते हैं। –
क्या कोई बेहतर तरीका है? यह पहले से ही सबसे अच्छा तरीका लगता है। गणना की न्यूनतम संख्या। तुम क्यों पूछ रहे हो? आपको कौन सा हिस्सा पसंद नहीं है? – Andreas