VB.NET 构造矩阵类

这个VB.NET类实现了矩阵的基本操作,包括构造、输出、转置、求行列式值、求逆矩阵以及矩阵的加、减、乘法运算。通过高斯消去法计算行列式的值,并使用伴随矩阵计算逆矩阵。
摘要由CSDN通过智能技术生成

本类我是用VB.NET编写的类,不管用什么语言,算法都类似,注释写得都挺详尽的了,而且我也通过了调试。

Public Class Matrix

    Private matrix(,) As Double '定义矩阵变量
    Private rowbound As Integer '定义数组行数,从0开始
    Private colbound As Integer '定义数组列数,从0开始


    Public Sub New(ByVal data(,) As Double)
        '首先获得矩阵大小
        rowbound = data.GetUpperBound(0)
        colbound = data.GetUpperBound(1)
        ReDim matrix(rowbound, colbound)

        Dim i As Integer, j As Integer '数组赋值循环变量
        For i = 0 To rowbound '赋值到矩阵变量
            For j = 0 To colbound
                matrix(i, j) = data(i, j)
            Next j
        Next i

    End Sub '构造函数

    Public Sub LetMatrix(ByRef output_(,) As Double)
        Dim i As Integer, j As Integer
        For i = 0 To rowbound
            For j = 0 To colbound
                output_(i, j) = matrix(i, j)
            Next j
        Next i
    End Sub  '把类中的矩阵输出到一个二维数组中

    Public Sub SetMatrix(ByVal input_(,) As Double)
        ReDim matrix(input_.GetUpperBound(0), input_.GetUpperBound(1))

        Dim i As Integer, j As Integer '数组赋值循环变量
        For i = 0 To input_.GetUpperBound(0) '赋值到矩阵变量
            For j = 0 To input_.GetUpperBound(1)
                matrix(i, j) = input_(i, j)
            Next j
        Next i
    End Sub '把一个二维数组中数据输出到类中

    Public Function GetTranspose() As Matrix
        Dim output_(,) As Double
        ReDim output_(rowbound, colbound)
        LetMatrix(output_)

        Dim i As Integer, j As Integer, t As Double
        For i = 0 To rowbound
            For j = i To colbound
                t = output_(i, j)
                output_(i, j) = output_(j, i)
                output_(j, i) = t
            Next
        Next

        Return New Matrix(output_)
    End Function '得到原矩阵的转置

    Public Function GetValue() As Double '求行列式的值,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值