1
我搜索了一個解決方案,但我一直有同樣的問題。我有一個JavaScript代碼,解決了二次方程。這裏有我的代碼::等式的Javascript代碼
var x1 = document.getElementById('x1').value;
var x2 = document.getElementById('x2').value;
var x3 = document.getElementById('x3').value;
var x4 = document.getElementById('x4').value;
var x5 = document.getElementById('x5').value;
var discriminant = (x2*x2)-(4*(x1*x3));
if (discriminant > -1){
var x1 = (-x2+Math.sqrt(discriminant))/(2*x1);
var x2 = (-x2-Math.sqrt(discriminant))/(2*x1);
document.getElementById('totx1').value = x1;
document.getElementById('totx2').value = x2;
var temp1 = (x5*x1)+1*x4;
document.getElementById('toty1').value = temp1;
var temp2 = (x5*x2)+1*x4;
document.getElementById('toty2').value = temp2;}
由於某些原因x1是正確的,但x2給了我一個錯誤的結果。任何人都可以幫我嗎?在這裏您可以看到一個輸入示例:
2x^2 + 2x - 40 = 0 | y = x4 + x5
正確的解決方案是[x1 = 4 || y1 = 5]和[x2 = -4 || y2 = -5]但我得到[x1 = 4 || y1 = 5]和[x2 = -10 || Y2 = -9]
你重新使用變量x1和x2,所以當找到第二個解決方案時,它使用錯誤的x1。不知道這是與問題有關還是僅僅是打字錯誤。 –
從文本框中讀取值總是會給你一個字符串,在數學運算中使用它們之前,你應該將這些字符串轉換爲整數(通過'parseInt')或小數(通過'parseFloat')。 – jbabey
是的,這與我的問題有關,我剛剛解決了它。 –