這是我第一次使用VB。我大多習慣於在matlab中工作,並發現在matlab中我認爲理所當然的東西必須在VB中顯式聲明。令人沮喪!在Visual Basic中聲明數組大小
特別是我需要聲明兩個數組大小s1和s2。正如你在下面的代碼中看到的那樣,s1是變量「stratum」等於1的集合「n」中的元素的數量。s2是變量「stratum」等於2的集合「n」中的元素的數量。漂亮直截了當。
我的方法是簡單地將層變量1循環到n並計數這些出現次數;然後將結果聲明爲常量。這會在matlab中運行,但VB不接受s1和s2作爲常量。在循環之後插入debug.print命令時,它甚至不會顯示s1和s2。
我已瀏覽已完成的相關帖子。我很欣賞任何建議。謝謝。
Sub TOAinput()
Const n As Integer = 648
Dim stratum(n), hybrid(n), acres(n), hhsz(n), offinc(n)
For i = 1 To n
stratum(i) = Worksheets("hhid level").Cells(i + 1, 2).Value
Next i
Dim s1 As Integer
Dim s2 As Integer
s1 = 0
s2 = 0
For i = 1 To n
If stratum(i) = 1 Then
s1 = s1 + 1
Else:
s2 = s2 + 1
End If
Next i
Dim acres1(s1), hhsz1(s1), offinc1(s1), acres2(s2), hhsz2(s2), offinc2(s2)
(...)
End Sub
昏暗sumac1,sumac2,mhhsz1,mhhsz2,cvhhsz1,cvhhsz2 sumac1 = SUM(acres1) sumac2 = SUM(acres2) mhhsz1 =平均(hhsz1) mhhsz2 =平均(hhsz2) cvhhsz1 = STDEV(hhsz1 )/ Average(hhsz1) cvhhsz2 = StDev(hhsz2)/ Average(hhsz2) – ben
非常感謝。無視我無意中發佈的亂碼。 – ben