c - 如何在C语言中使用欧拉法形成求解微分方程的逻辑
问题描述
我们有以下数学公式可以用欧拉法求解微分方程
x n+1 = x n + h
y n+1 = y n + h*f(x n , y n )
假设我们已经提供了 y(x 0 )=any 值,那么我们有 x 0和 y 0并且 h 已经由用户提供。
我无法理解如何从用户那里接受函数 f(x n , y n ),因为该函数可以是代数、三角函数、指数或对数,并且该函数的类型为 dy/dx=(expression) .程序代码应该能够解决用户输入的任何微分表达式,并且近似值的答案必须正确到小数点后4位。
可以将表达式作为字符串接受,但我无法对字符串执行计算。任何建议或解决方案将不胜感激。
欧拉方法的站点: http: //calculuslab.deltacollege.edu/ODE/7-C-1/7-C-1-hc.html
示例输入:
表达式输入:
dy/dx=x+2y
初始条件输入:
x 0 =0, y 0 =0
输入步长:h=0.25
输入要为其找到解决方案的值:x=1
示例输出:
解决方案
推荐阅读
- c# - 如何在 C# 中使用 FtpWebRequest 列出 ftp 目录?
- linux - 如何控制/获取 kinect v1 的倾斜角度?我在 ROS 动力学上使用 freenect
- iis - 如何在本机服务器推送功能中构造 HTTP_REQUEST_HEADERS,HttpDeclarePush
- java - 如何遍历 ArrayList,然后使用 Iterator 的 next 方法写入文件?
- docker - DockerFile:是用来创建镜像还是到docker主机如何创建容器
- webpack - SCSS 未在 webpack4 开发构建中加载
- c - 如何将元素添加到指针字符数组?
- python - Requests.patch 方法(py 库)适用于 https 但不适用于 http
- r - 按 ID 号重塑为宽格式
- javascript - 发送事件电子邮件提醒 Javascript