如何在 Visual Studio vb.net 代码中计算平均值? (矩阵)
Posted
技术标签:
【中文标题】如何在 Visual Studio vb.net 代码中计算平均值? (矩阵)【英文标题】:How to calculate average in visual studio vb.net code ? (matrix) 【发布时间】:2022-01-17 23:23:41 【问题描述】:我需要计算 vb.net
中矩阵元素的平均值这是我的矩阵
5 | 2 | 1 | 2 |
5 | 5 | 2 | -2 |
1 | 5 | -1 | 1 |
1 | -1 | -5 | -2 |
【问题讨论】:
矩阵是如何定义的? 要计算列和行的平均值吗? 【参考方案1】:其中一个可能是你的“矩阵”
' multidimensional array
Dim m1(,) As Integer =
5, 2, 1, 2,
5, 5, 2, -2,
1, 5, -1, 1,
1, -1, -5, -2
' jagged array
Dim m2()() As Integer =
New Integer() 5, 2, 1, 2,
New Integer() 5, 5, 2, -2,
New Integer() 1, 5, -1, 1,
New Integer() 1, -1, -5, -2
' list of lists
Dim m3 = New List(Of List(Of Integer)) From
New List(Of Integer)() From 5, 2, 1, 2,
New List(Of Integer)() From 5, 5, 2, -2,
New List(Of Integer)() From 1, 5, -1, 1,
New List(Of Integer)() From 1, -1, -5, -2
对于这些矩阵中的每一个,这里是计算平均值的方法
Dim a1 As Double
For i = m1.GetLowerBound(0) To m1.GetUpperBound(0)
For j = m1.GetLowerBound(1) To m1.GetUpperBound(1)
a1 += m1(i, j)
Next
Next
a1 /= (m1.GetUpperBound(0) - m1.GetLowerBound(0) + 1) * (m1.GetUpperBound(1) - m1.GetLowerBound(1) + 1)
Dim a2 As Double
' count items because jagged array can have different # of items in each level
Dim c2 As Integer
For i = m2.GetLowerBound(0) To m2.GetUpperBound(0)
For j = m2(i).GetLowerBound(0) To m2(i).GetUpperBound(0)
a2 += m2(i)(j)
c2 += 1
Next
Next
a2 /= c2
Dim a3 = m3.SelectMany(Function(l) l).Average()
Console.WriteLine($"Multidimensional avg: a1")
Console.WriteLine($"Jagged avg: a2")
Console.WriteLine($"List of List avg: a3")
多维平均:1.1875 锯齿状平均:1.1875 列表平均:1.1875
【讨论】:
以上是关于如何在 Visual Studio vb.net 代码中计算平均值? (矩阵)的主要内容,如果未能解决你的问题,请参考以下文章
从 Visual Studio 2010 (VB.NET) 读取访问查询
VB.NET 如何在visual studio中制作滑入/滑出申请表(程序)?
我们可以在最初使用 C# 安装的 Visual Studio Express 中运行 VB.Net 吗?
Visual Studio / VB.Net 2008 IntelliSense 奇怪行为