求解线性和非线性方程组?

时间:2011-08-24 20:26:41

标签: c algorithm math matlab linear

我的方程组具有线性和非线性方程,但不具有二次或三次方程或具有多于一的可变度的方程。 例如:

          x + y = 3 (linear), 
          y + z = 4 (linear), 
          x * z = 6 (non linear), 
          x / y = 3 (non linear), 
          y * z / x = 2 (non linear)

这些系统中可能有数百个等式。没有二次或三次方程。

我想知道哪种算法最适合求解这些方程组,哪种语言更好C或Matlab。

2 个答案:

答案 0 :(得分:0)

如果你使用C,你必须出去找到好的数值方法库来帮助你或自己编写。

MATLAB是数值方法库的工具包。他们实施了它们,所以你不必这样做。考虑使用MATLAB作为解决方案的更高抽象。

如果你有一个非线性方程与一堆其他线性方程相结合,那就意味着你需要一个非线性求解器。我推荐使用Newton-Raphson迭代求解器,但最好的办法是查看MATLAB工具箱,看看它为非线性求解器提供了什么。最容易表示方程组的那个是最好的。

答案 1 :(得分:0)

我会选择使用MatLab来确定它是为解决这些问题而设计的。 Here是解决线性方程组的教程,here是非线性方程的一个例子。

我还建议您在Math网站上提问这个问题,因为他们可能会有更多的经验。