如何将c++中的输入字符串转换为函数

问题描述 投票:0回答:1

我正在为学校做一个项目。它必须使用三种方法来计算非线性函数的根:二分法、regula falsi 和割线法。它还必须符合标准算术和区间算术。对于间隔,我使用升压间隔库。写完所有内容后,我意识到我没有让用户输入实际函数(我一直在使用固定 cos 函数)。我怎么能做这样的事呢?我想我不能简单地将字符串输入“转换”为函数?

我想我应该把它解析成方程?

这是我的程序的工作原理。

Interval f(const Interval& function) { return cos(function); }

当使用二分法时,我的程序只需使用此函数即可进行计算,例如:

if (f(xi) * f(przedzial.lower()) < Interval(0))

现在我想要求用户输入它的功能,例如。 x*x-3 或 sin(x)。

我怎样才能做到这一点?

c++ math boost
1个回答
0
投票

这很容易实现,而且一直在做。一个(非常)简单的递归下降解析器可以轻松完成这项工作。

© www.soinside.com 2019 - 2024. All rights reserved.