VB.Net矩阵求秩函数
来源:互联网 发布:淘宝降权还能恢复吗 编辑:程序博客网 时间:2024/06/11 18:12
Public Function Math_Matrix_Rank(ByVal K(,) As Integer, ByVal error_ As Integer, GetList As Integer) As Integer '返回矩阵的秩. Dim n As Integer = GetList Dim m As Integer = K.Length \ n Dim i As Integer = 0 Dim i1 As Integer Dim j As Integer = 0 Dim j1 As Integer Dim temp1 As Single If m > n Then '保证m≤n i = m m = n n = i i = 1 End If m -= 1 n -= 1 Dim temp(m, n) As Single If i = 0 Then For i = 0 To m For j = 0 To n temp(i, j) = K(i, j) Next Next Else For i = 0 To m For j = 0 To n temp(i, j) = K(j, i) Next Next End If If m = 0 Then i = 0 While i <= n If K(0, i) <> 0 Then Return 1 End If i += 1 End While Return 0 End If Dim error0 As Double If error_ = -1 Then error0 = System.Math.Pow(0.1, 10) Else error0 = System.Math.Pow(0.1, error_) End If i = 0 While i <= m '保证误差可控制 j = 0 While j <= n If temp(i, j) <> 0 Then error0 *= temp(i, j) i = m Exit While End If j += 1 End While i += 1 End While Dim error1 As Double For i = 0 To m '消0过程 j = 0 While j <= n If temp(i, j) <> 0 Then Exit While End If j += 1 End While If j <= n Then i1 = 0 While i1 <= m If temp(i1, j) <> 0 And i1 <> i Then temp1 = temp(i, j) / temp(i1, j) error1 = System.Math.Abs((temp(i, j) - temp(i1, j) * temp1)) * 100 '误差控制。因为有时候temp(i, j) - temp(i1, j) * (temp(i, j) / temp(i1, j))≠0 error1 += error0 For j1 = 0 To n temp(i1, j1) = temp(i, j1) - temp(i1, j1) * temp1 If System.Math.Abs(temp(i1, j1)) < error1 Then temp(i1, j1) = 0 End If Next End If i1 += 1 End While End If Next i1 = 0 '作为返回值的临时变量 For i = 0 To m For j = 0 To n If temp(i, j) <> 0 Then i1 += 1 Exit For End If Next Next Return i1 End Function
推荐文章:那些年,做的几个应用
1 0
- VB.Net矩阵求秩函数
- VB.Net矩阵求逆
- VB.Net矩阵求特征值
- [VB.NET]跪求!!!
- vb.net求解释
- [VB.NET]求vb.net声道控制
- VB.NET 构造矩阵类
- [VB.NET]求一个快捷键
- vb.net常用函数
- vb.net常用函数
- vb.net常用函数
- vb.net常用函数
- vb.net函数
- vb.net常用函数
- vb.net常用函数
- vb.net CType 函数
- vb.net常用函数
- vb.net常用函数
- Socket通信原理和实践
- Ubuntu下安装使用samba
- LVS+Keepalived配置示例
- php生成utf-8文件
- 四、union-find算法
- VB.Net矩阵求秩函数
- 数据结构——顺序栈的学习
- 什么是凸函数
- iOS开发UI调试利器Reveal简单使用
- Netty的FastThreadLocal
- 搞不清FastCgi与PHP-fpm之间是个什么样的关系
- Python 代码调试技巧 (转载自:IBM developerWorks 张颖)
- 51单片机——SPI
- ios 获取ios系统信息