javascript怎么解方程。我想要键入abc的值,然后直接在浏览器输出x的值,自己编了一半不会了。

JavaScript028

javascript怎么解方程。我想要键入abc的值,然后直接在浏览器输出x的值,自己编了一半不会了。,第1张

这个题的解决思路是这样的:(如要写完整程序,你可以email我:[email protected])

这个方程在(a,b,c)不为零时,可以将方程变成以下三个可以使用程序提供的数据函数求解的表达式:(a,b,c为零的求解程序应该没有问题吧。)

x=m/a 此a参数不为0;

x=e^( ( ln (n/b) )/0.313 )

n=c-m

(上面的方程转变,应该能看懂吧。)

然后,我们可以用假定m的值做循环

计算出两个x的值,根据两个x值的比较结果修正m值(增加/减少)

再做循环,直到找到你满意的x值。

(对m值的修正,是能否找到解的关键,只要注意基本函数的单调性,我想应该是能解决的。)

在做这些东西可真不容易呀...

A:<input name="texta" type="text" id="texta" />

B:<input name="textb" type="text" id="textb" />

C:<input name="textc" type="text" id="textc" />

<input type="button" name="Submit" value="计 算" onclick="showResult()" />

R1<input name="text1" type="text" id="text1" />

R2<input name="text2" type="text" id="text2" />

<script>

function showResult(){

var pattern=/[0-9]+/

var a=document.getElementById("texta").value

var b=document.getElementById("textb").value

var c=document.getElementById("textc").value

var r1,r2

if(a==""||b==""||c=="") //检测输入的合法性

{

alert("请输入完整的信息")

return 0

}

if(a=="0")

{

alert("a不能为0")

document.getElementById("texta").focus()

return 0

}

if(!pattern.test(a)||!pattern.test(b)||!pattern.test(c))

{

alert("请输入数字")

return 0

}

if((Math.pow(b,2)-4*a*c)<0)

{

alert("b平方小于4ac,请新输入")

return 0

}

r1=((-b)+Math.pow((Math.pow(b,2)-4*a*c),0.5))/2*a

document.getElementById("text1").value=r1

r2=((-b)-Math.pow((Math.pow(b,2)-4*a*c),0.5))/2*a

document.getElementById("text2").value=r2

}

</script>