最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

html - Derivate in JavaScript - Stack Overflow

programmeradmin2浏览0评论

I have this code.

<script src=".core.js"></script>
<script src=".js"></script>
<script src=".js"></script>
<div id="text"></div>

<form name="formulario" onsubmit="return procesar(this);">         
        Ingrese la funcion:
        <input name="func" type="text" size="15" />           
        <input type="submit" value="Procesar" />   
    </form>

JavaScript Code:

//Calculo de derivada
var func = document.getElementsByName("func")[0].value;
var result = nerdamer('diff(2x^3+3x^2)').evaluate();
document.getElementById('text').innerHTML += '<p>'+result.text()+'</p>';

I need that when I introduce manually the function, on input, when I click on ''Procesar'' calculate derivate. Thank you, I dont know how... need help. I mean, save the value pass to the function and show result.

I have this code.

<script src="http://nerdamer./js/nerdamer.core.js"></script>
<script src="http://nerdamer./js/Algebra.js"></script>
<script src="http://nerdamer./js/Calculus.js"></script>
<div id="text"></div>

<form name="formulario" onsubmit="return procesar(this);">         
        Ingrese la funcion:
        <input name="func" type="text" size="15" />           
        <input type="submit" value="Procesar" />   
    </form>

JavaScript Code:

//Calculo de derivada
var func = document.getElementsByName("func")[0].value;
var result = nerdamer('diff(2x^3+3x^2)').evaluate();
document.getElementById('text').innerHTML += '<p>'+result.text()+'</p>';

I need that when I introduce manually the function, on input, when I click on ''Procesar'' calculate derivate. Thank you, I dont know how... need help. I mean, save the value pass to the function and show result.

Share Improve this question asked Jan 1, 2016 at 23:09 LewisLewis 4665 silver badges16 bronze badges
Add a ment  | 

4 Answers 4

Reset to default 3

I don't know that library, but it seems you can differentiate an expression expr with

nerdamer.getCore().Calculus.diff(nerdamer(expr).symbol).text()

It's a bit long, but safer than nerdamer("diff(" + expr + ")") in case expr is malformed.

Then, you can use

document.forms.formulario.addEventListener('submit', function(e) {
  e.preventDefault(); // Don't send form
  var expr = this.elements.func.value,
      diff = nerdamer.getCore().Calculus.diff(nerdamer(expr).symbol).text();
  document.getElementById('text').textContent = diff;
});
<script src="http://nerdamer./js/nerdamer.core.js"></script>
<script src="http://nerdamer./js/Algebra.js"></script>
<script src="http://nerdamer./js/Calculus.js"></script>
<form name="formulario">         
  Enter function:
  <input name="func" type="text" size="15" />           
  <input type="submit" value="Differentiate" />   
</form>
<div id="text"></div>

You have to create procesar function :

function procesar(_this){
    //Calculo de derivada
    var func = document.getElementsByName("func")[0].value;
    var result = nerdamer('diff(2x^3+3x^2)').evaluate();
    document.getElementById('text').innerHTML += '<p>'+result.text()+'</p>';

    return false; //Prevent the refresh
}

Hope this helps.

This shows derivative:

function Differentiate(sender) {
  var func = document.getElementsByName("func")[0].value.trim();
  var result = nerdamer('diff(' + func + ')').evaluate();
  var html = document.getElementById('text').innerHTML;
  html = '<p>' + result.text() + '</p>' + html;
  document.getElementById('text').innerHTML = html;
}
<script src="http://nerdamer./js/nerdamer.core.js"></script>
<script src="http://nerdamer./js/Algebra.js"></script>
<script src="http://nerdamer./js/Calculus.js"></script>


<form name="formulario" method="get" onsubmit="return Differentiate(this);">
  Ingrese la funcion:
  <input name="func" type="text" size="15" />
  <input type="submit" value="Differentiate" />
</form>


<div id="text"></div>

Unfortunately I am unable to ment under the accepted answer but would like to make a slight modification to it which should achieve the same result. Also keep in mind that if your function contains more than one variable then you need to specify with respect to which variable you're differentiating.

document.forms.formulario.addEventListener('submit', function(e) {
  e.preventDefault(); // Don't send form
  var value = this.elements.func.value,
      deriv = nerdamer('diff('+value+')').text();
  document.getElementById('text').textContent = deriv;
});
<script src="http://nerdamer./js/nerdamer.core.js"></script>
<script src="http://nerdamer./js/Algebra.js"></script>
<script src="http://nerdamer./js/Calculus.js"></script>
<form name="formulario">         
  Ingrese la funcion:
  <input name="func" type="text" size="15" />           
  <input type="submit" value="Procesar" />   
</form>
<div id="text"></div>

发布评论

评论列表(0)

  1. 暂无评论