[英]Using Visual Studio Code for vb.net : How to enable vb.net intellisense?
[英]How to calculate average in visual studio vb.net code ? (matrix)
我需要計算vb.net中矩陣元素的平均值
這是我的矩陣
5 | 2 | 1 | 2 |
5 | 5 | 2 | -2 |
1 | 5 | -1 | 1 |
1 | -1 | -5 | -2 |
其中之一可能是您的“矩陣”
' 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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.