一个更正:这不是线性代数,这通常意味着多个方程和未知数的矩阵。
你的例子当然并不复杂。
你需要的是一个简单的表达式语法和解析器。将方程解析为抽象语法树并遍历树来评估它。
如果您正在编写 Java,它可能看起来像这样。另一个例子是symja。也许它足以激发您为 C++ 提出自己的灵感。
您可能还想研究 Mathematica 和 Wolfram 的 Alpha。Stephen Wolfram 是世界上最优秀的数学家和计算机科学家之一。他有很多东西可以让你充分利用而不是自己写。
您必须定义“解决”的含义以及您期望返回的内容。
有符号解和数值解。你是指哪一个?两者都同样有效,但它们是不同的。您将根据您的答案应用不同的技术。
另一点:有许多“求解”方程的技术在很大程度上取决于方程的类型。如果你给我一些东西,f(x) = 0我会想到像牛顿法这样的求根算法。如果你给我一个常微分方程,我可能会尝试使用 Runge-Kutta 的替代方法或数值积分。如果你给我一个偏微分方程,我可以应用有限差分、有限元或边界元技术。(不要让我开始研究椭圆、抛物线和双曲线 PDE。)
关键是您的问题非常笼统,答案在很大程度上取决于您要做什么。更多细节可能会有所帮助。