2015-11-23 62 views

回答

0

你必須每一個要解決的一元二次方程因此對於y值

y您不得不

a*x^2 + b*x + c = y 

所以

a*x^2 + b*x + (c-y) = 0 

和你所需要的

a*x^2 + b*x + c' = 0 

其中

c' = c-y 

所以,如果你把0.0031的A2,0.1336在B2和D2 0.0355,Y值開始在E2說,然後用放的C」在C2開始值

=$D$2-E2 

您可以通過

=(-$B$2-SQRT($B$2*$B$2-4*$A$2*C2))/(2*$A$2) 
通過

=(-$B$2+SQRT($B$2*$B$2-4*$A$2*C2))/(2*$A$2) 

,另一組x值的獲得一組x值

已經添加了兩列來檢查從x計算出的y的值。

Screen shot

0

其實是有一個Excel的內置機制來解決這類問題。

讓我們假設您的y - 值存儲在第一列(A1,A2等)中。

然後你就會把公式你有興趣,在C1,這將是這樣的,如果我們假設x - 數值將被存儲在D1:

=0.0031*POWER($D1,2)+0.1336*$D1+0.0355-A1 

向下拖動,直到適合。

現在在D1中放入任何數字,例如, 5.

將D1拖動到合適的位置。

轉到數據功能區並轉到假設分析並選擇目標搜索。

它應該是這樣的:

enter image description here

請注意,我的Excel是德國人。

在第一個字段中,您將選擇二次方程所在的範圍,在本例中爲C1。 在第二個字段中,您將指定您希望達到的值。 在這種情況下0。 而在第三個字段中,您將指定可以更改哪個範圍。在這種情況下,D1。

按下ok後,excel將接近函數的根部,精度達到10^-4。

你必須手工完成所有的值,或者記錄一個宏,看看excel的功能,然後寫一個簡短的宏來爲你做。

重要的是要注意,這是唯一可能的,因爲Excel-2010。 但是既然你有excel 2016標籤,你應該沒問題!

編輯:

您可以使用此宏,來爲你做,如果你使用的設置如上文所述:

Sub GS() 

Dim rng As Range 

For Each rng In Range("A1", "A4") '<~~ Change this to the range needed 

    Cells(rng.Row, 3).GOALSEEK goal:=0, ChangingCell:=Cells(rng.Row, 4) 'Change 3 to the column your function is in. Change the 4 to the column you x-Value is in. 

Next rng 

End Sub 
相關問題