| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- <!DOCTYPE html>
- <html>
- <head>
- <title>导数计算器</title>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjs/11.11.1/math.js"></script>
- <style>
- body { font-family: Arial, sans-serif; max-width: 800px; margin: 0 auto; padding: 20px; }
- .container { background-color: #f5f5f5; padding: 20px; border-radius: 8px; }
- input { width: 300px; padding: 8px; margin: 10px 0; }
- button { background-color: #4CAF50; color: white; padding: 10px 20px; border: none; border-radius: 4px; cursor: pointer; }
- button:hover { background-color: #45a049; }
- #result { margin-top: 20px; font-weight: bold; }
- </style>
- </head>
- <body>
- <div class="container">
- <h2>导数计算器</h2>
- <p>输入函数表达式(使用 x 作为变量)(ln x 请写成log(x)):</p>
- <input type="text" id="functionInput" placeholder="例如:x^2 + 3*x + sin(x)" onkeypress="handleEnter(event)">
- <br>
- <button onclick="calculateDerivative()">计算导数</button>
- <div id="result"></div>
- </div>
- <script>
- function calculateDerivative() {
- const input = document.getElementById('functionInput').value;
- const resultDiv = document.getElementById('result');
-
- try {
- // 使用 math.js 计算导数
- const derivative = math.derivative(input, 'x');
-
- // 将结果转换为字符串并简化显示
- const resultString = derivative.toString()
- .replace(/(\^)/g, '<sup>$1</sup>')
- .replace(/\*/g, '');
-
- resultDiv.innerHTML = `导数结果:<span style="color: #2c3e50;">${resultString}</span>`;
- } catch (error) {
- resultDiv.innerHTML = `<span style="color: red;">错误:${error.message}</span>`;
- }
- }
- function handleEnter(event) {
- if (event.key === 'Enter') {
- calculateDerivative();
- }
- }
- </script>
- </body>
- </html>
|