我已经在这段代码上工作了一段时间,因为我只有9年级,所以我没有太多的代数经验。我已经尝试了很多东西,这就是我的脚本现在的位置。(注意,这只是JavaScript,要求的id是带有信息和输出的框。)
<script>
function SolveExp() {
//constants
var d = document;
//Point values
var EX1 = eval(d.getElementById('EX1').value);
var EX2 = eval(d.getElementById('EX2').value);
var EY1 = eval(d.getElementById('EY1').value);
var EY2 = eval(d.getElementById('EY2').value);
//Exponential Equation y=a*bx
var a,bx,EQX,EQY;
//To organize the system for "x"
if(EX1 > EX2) {
EQX = EX1 - EX2;
}
else if(EX2 > EX1) {
EQX = EX2 - EX1;
};
//To organize the system for "y"
if(EY1 > EY2) {
EQY = EY1 / EY2;
}
else if(EY2 > EY1) {
EQY = EY2 / EY1;
};
a = -(EY1) + Math.pow(bx,EX1);
bx = Math.pow(EQY,EQX);
document.getElementById('ExpEQ').innerHTML = "y = " + a + "(" + bx + ")<sup>x</sup>";
}
</script>
仅适用于点(0,4)和(1,8)形式为y = a(b) x 的“b”。当我将这些点插入框中时,A总是-3。当我使用同一条线上的点时,方程式完全不同。有没有解决方案?
答案 0 :(得分:0)
在为其指定值之前,不能在等式中使用bx。那两行是乱序的。如果EX1 = EX2或EY1 = EY2,EQX和EQY不会被分配给任何东西。 eval是javascript中的禁忌词,应谨慎使用。其他人会骚扰你使用它。阅读有关为什么这么糟糕的事情并自行决定。