我们有以下数学公式通过欧拉方法求解微分方程
x n + 1 = x n + h
y n + 1 = y n + h * f(x n ,y n )< / p>
假设我们提供了y(x 0 )=任意值,那么我们有x 0 和y 0 ,h也有由用户提供。
我很难理解如何从用户那里接受函数f(x n ,y n ),因为该函数可以是代数,三角函数,指数函数或对数函数,函数类型为dy / dx =(表达式)。程序代码应能够求解用户输入的任何微分表达式,并且近似值的答案必须正确至小数点后4位。
可以将表达式作为String接受,但是我无法对String进行计算。任何建议或解决方案都将不胜感激。
欧拉方法的站点:http://calculuslab.deltacollege.edu/ODE/7-C-1/7-C-1-h-c.html
示例输入:
表达式输入:
dy / dx = x + 2y
初始条件输入:
x 0 = 0,y 0 = 0
输入步长:h = 0.25
输入您要为其查找解决方案的值:x = 1
示例输出: