介绍
程序SolveLinearEquations
解决联立方程。该方案需要一个文本文件,其中包含输入和输出方程解决。这个项目是几年前我写在C#中http://www.codeproject.com/Articles/673076/Linear-Equation-Solver线性方程组求解。以外,这个程序没有图形用户界面和一个稍微修改公式格式,这个计划是非常类似于C#程序,该程序使用SparseArray
模板类来实现向量和矩阵。矩阵使用DoubleIndex的类,这需要两个整数指数,实行单一的键使用SparseArray类。矩阵SparseArray的存储类型是双精度数。每个向量只是一个实例的的SparseArray类存储一个双精度值一个整数索引一键。代码使用原油的解析器来解析输入文件中的方程。这是原油,因为它需要有些僵硬的输入格式,不支持括号或数学函数。
输入文件是一个文本文件,其中包含方程。可以有不超过1024个字符的行上。方程以分号结束。如果没有分号结尾的行,然后在下一行上继续方程。
该方程具有以下格式,它允许使用加法和减法符号,以结合的形式:
每个方程中必须有一个单等号。
无论是数字或变量是可选的,可以结合使用加号或减号所需的许多条款。这个数字可以包含小数点和指数。变量可以
只包含字母字符或下划线字符。
浮点指数前^
字符,而不是通常的ê
字符,以避免任何模糊变量名。下面的行显示一个浮点数,等于230万。
公式必须包含一个等号。
方程组的一个例子是:
3 X + 4 Y = -5 Z
X + Z = 10 Y
X + Z = 42.5
注意空行分隔方程。