`
jsntghf
  • 浏览: 2526273 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

求解线性方程组

 
阅读更多

有若干线性方程(类似2x + 10y + 8z = 54的方程),希望给出x、y、z的值。

 

创建两个Matrix对象,第一个Matrix应当包含方程的系数(2x + 10y + 8z = 54中的2、10、8),第二个应当包含常数结果(2x + 10y + 8z = 54中的54)。

 

例如,考虑下面3个带3个变量的线性方程:

 

2x + 10y + 8z = 54

7y + 4z = 30

5x + 5y + 5z = 35

 

要解这些方程,需要创建两个矩阵:

 

    require 'matrix'
    require 'rational'
    coefficients = [[2, 10, 8], [0, 7, 4], [5, 5, 5]].collect! do |row|
      row.collect!{|x| Rational(x)}
    end
    coefficients = Matrix[*coefficients]
    # => Matrix[[Rational(2, 1), Rational(10, 1), Rational(8, 1)],
    #            [Rational(0, 1), Rational(7, 1), Rational(4, 1)],
    #            [Rational(5, 1), Rational(5, 1), Rational(5, 1)]]
    constants = Matrix[[Rational(54)], [Rational(30)], [Rational(35)]]
    solutions = coefficients.inverse * constants
    puts solutions # => Matrix[[1], [2], [4]]

 

这意味着,对于原始方程x=1、y=2、z=4。

分享到:
评论
1 楼 qichunren 2011-02-09  
很好玩啊,mark.

相关推荐

    利用SVD(奇异值分解)求解线性方程组.zip

    在MVG(多视图几何)和机器学习领域,求解线性方程组几乎是所有算法的根本,本文旨在帮助读者搞懂矩阵分解与线性方程组的关系,并给出利用SVD求解线性方程组的实战代码。 本资源是博文"【动手学MVG】矩阵分解与线性...

    Eigen求解线性方程组

    ### Eigen求解线性方程组 #### 一、引言 在计算机科学与工程领域,线性代数是处理各种复杂问题的基础工具之一。线性方程组的求解在许多实际应用中都占据着核心地位,例如信号处理、图像处理、结构分析等。而C++作为...

    利用eigen矩阵库求解线性方程组

    c++代码,利用eigen矩阵库,求解线性方程组。 c++代码,利用eigen矩阵库,求解线性方程组。 c++代码,利用eigen矩阵库,求解线性方程组。 c++代码,利用eigen矩阵库,求解线性方程组。 c++代码,利用eigen矩阵库,...

    matlab平方根法和改进平方根法求解线性方程组例题与程序文件.docx

    《MATLAB中的平方根法与改进平方根法求解线性方程组》 线性方程组的求解在科学计算中占有重要的地位,MATLAB作为一种强大的数值计算工具,提供了多种方法来解决这类问题。本文主要探讨的是利用MATLAB实现的平方根法...

    Jacobi迭代法,求解线性方程组 matlab代码

    Jacobi迭代法,求解线性方程组 matlab代码 Jacobi迭代法,求解线性方程组 matlab代码 Jacobi迭代法,求解线性方程组 matlab代码 Jacobi迭代法,求解线性方程组 matlab代码 Jacobi迭代法,求解线性方程组 matlab代码

    使用MKL求解线性方程组的C++程序

    LU分解是一种有效的求解线性方程组的方法,它将矩阵A分解为一个下三角矩阵L和一个上三角矩阵U的乘积,即A = LU。这样,原问题可以转换为两个更简单的步骤:首先解Ly = b得到y,然后解Ux = y得到x。 **Intel MKL中的...

    Jacobi迭代法求解线性方程组以及Gauss-Seidel迭代法求解线性方程组的程序

    **雅可比迭代法**是求解线性方程组的一种迭代方法,适用于对角占优的矩阵。对于线性方程组 Ax = b,其中A是对称正定或对角占优的矩阵,可以将其分解为D-L-U形式,其中D是对角部分,L是下三角部分(不包括对角线),U...

    matlab平方根法和改进平方根法求解线性方程组例题与程序文件.pdf

    《MATLAB中的平方根法与改进平方根法求解线性方程组》 线性方程组的求解在科学计算中占有重要地位,MATLAB作为一种强大的数值计算工具,提供了多种方法来解决这类问题。本文主要探讨的是利用MATLAB实现的平方根法和...

    实现列住元素法求解线性方程组的C++源代码

    实现列主元素法求解线性方程组的C++源代码 列主元素法简介 列主元素法是一种常用的线性方程组解法,它通过选主元、消元和回代三个步骤来解决线性方程组。该方法可以解决具有相同系数矩阵的线性方程组,且可以避免...

    求解线性方程组 Ax = b 的极小化算法的比较和分析(最速下降法,CG算法、PCG算法等)。

    本报告主要探讨了求解线性方程组Ax=b的几种极小化算法,包括最速下降法、共轭梯度法(CG算法)以及预处理共轭梯度法(PCG算法),并对这些算法进行了比较和分析。 首先,极小化方法是基于变分原理的,即通过求解一...

    matlab求解线性方程组

    基于matlab求解线性方程组,A*x=b,求解x向量,最终结果存储在x向量中。

    MATLAB-平方根法和改进平方根法求解线性方程组例题与程序演示教学.pdf

    平方根法和改进平方根法是两种用于求解线性方程组的高效算法,尤其适用于处理对称正定矩阵的线性系统。这两种方法基于矩阵的分解,减少了计算复杂度,提高了求解效率。 首先,平方根法,也称为Cholesky分解,是一种...

    用超松弛法实现求解线性方程组SOR.py

    用超松弛方法实现的求解线性方程组程序。 包含取不同因子时的结果和绘图过程。 程序清晰,可以用来求解一般的线性方程组。

    求解线性方程组的c代码

    在计算机科学领域,尤其是数值计算中,求解线性方程组是常见且重要的任务。本文将详细讨论C语言实现的六种经典算法,用于解决线性方程组的问题。 首先,线性方程组是一组包含未知数的方程,它们具有线性关系。例如...

    超松弛迭代方法求解线性方程组的通用程序.txt

    超松弛迭代方法求解线性方程组的通用程序.。MATLAB

    数值分析实验之求解线性方程组实现

    本次实验的主题是“数值分析实验之求解线性方程组实现”,主要关注如何使用编程语言(这里是Java)来解决这类问题。线性方程组通常表示为Ax = b的形式,其中A是一个系数矩阵,x是未知数向量,而b是常数项向量。解决...

    雅克比迭代求解线性方程组(MATLAB)课设

    在本课程设计中,我们将深入探讨使用MATLAB实现雅克比迭代法来求解线性方程组这一重要数学问题。雅克比迭代法是一种数值分析中的迭代方法,常用于解决大型稀疏矩阵的线性方程组。这种方法在工程、物理、计算机科学等...

    求解线性方程组的解——java实现

    高斯列主消元法 LU分解法 迭代法求解线性方程组 高斯列主消元法 LU分解法 迭代法求解线性方程组 高斯列主消元法 LU分解法 迭代法求解线性方程组 高斯列主消元法 LU分解法 迭代法求解线性方程组 高斯列主消元法 LU...

Global site tag (gtag.js) - Google Analytics