Dim s As Integer, i As Integer, k As Integer
s = 1
m = InputBox("請輸入m:")
n = InputBox("請輸入n:")
Print "m="; m; "n="; n
If m > n Then
i = m: m = n: n = i
End If
If n Mod m = 0 Then
Print "最大公約數是"; m
Exit Sub
End If
k = m
t = n
Do While k <> 0
t = t Mod k
j = t: t = k: k = j
Loop
Print "最大公約數是"; t;
回答者: lxz1969 - 首席運營官 十三級 3-5 11:05
不懂 最小二乘法 不好意思
回答者: chenxfsoft - 同進士出身 六級 3-5 11:05
下面是用最小二乘法計算相關系數的。如果妳要算系數的話,可以稍加修改。
Const 標題 = "相關系數的計算"
Private Function 計算相關系數(自變量數組() As Variant, 因變量數組() As Variant, 相關系數 As Variant) As Long
Dim 數組維數 As Integer, 數據數 As Long, 自變量下標下限 As Long, 自變量下標上限 As Long, 因變量下標下限 As Long
Dim i As Long, 變量類型 As Integer
計算相關系數 = 0
數組維數 = 數組維數(自變量數組)
If 數組維數 <> 1 Then
MsgBox "自變量數組不是壹維的,不能求相關系數!", vbOKOnly + vbExclamation, 標題
計算相關系數 = 1
Exit Function
End If
數組維數 = 數組維數(因變量數組)
If 數組維數 <> 1 Then
MsgBox "因變量數組不是壹維的,不能求相關系數!", vbOKOnly + vbExclamation, 標題
計算相關系數 = 2
Exit Function
End If
自變量下標下限 = LBound(自變量數組)
自變量下標上限 = UBound(自變量數組)
因變量下標下限 = LBound(因變量數組)
On Error GoTo 因變量用完
For i = 自變量下標下限 To 自變量下標上限
If Not IsNumeric(自變量數組(i)) Then
MsgBox "自變量數組下標為" & i & "的元素(即第" & i + 1 - 自變量下標下限 & "個)不是數值型,不能求相關系數!", vbOKOnly + vbExclamation, 標題
計算相關系數 = 3
Exit Function
End If
If Not IsNumeric(因變量數組(i - 自變量下標下限 + 因變量下標下限)) Then
MsgBox "因變量數組下標為" & i - 自變量下標下限 + 因變量下標下限 & "的元素(即第" & i + 1 - 自變量下標下限 & "個)不是數值型,不能求相關系數!", vbOKOnly + vbExclamation, 標題
計算相關系數 = 4
Exit Function
End If
Next i
If i - 1 <> UBound(因變量數組) Then
MsgBox "因變量數組元素個數多於自變量元素個數,不能求相關系數!", vbOKOnly + vbExclamation, 標題
計算相關系數 = 6
Exit Function
End If
On Error GoTo 溢出
Dim 積的和 As Double, 自變量的和 As Double, 因變量的和 As Double, 自變量平方和 As Double, 因變量平方和 As Double
Dim x As Double, y As Double
數據數 = 自變量下標上限 - 自變量下標下限
For i = 自變量下標下限 To 自變量下標上限
x = 自變量數組(i)
y = 因變量數組(i - 自變量下標下限 + 因變量下標下限)
積的和 = 積的和 + x * y
自變量的和 = 自變量和 + x
因變量的和 = 因變量和 + y
自變量平方和 = 自變量平方和 + x * x
因變量平方和 = 因變量平方和 + y * y
Next i
相關系數 = (數據數 * 積的和 - 自變量和 * 因變量和) / Sqr((數據數 * 自變量平方和 - 自變量的和 * 自變量的和) * (數據數 * 因變量平方和 - 因變量的和 * 因變量的和))
Exit Function
因變量用完:
MsgBox "因變量數組元素個數少於自變量元素個數,不能求相關系數!", vbOKOnly + vbExclamation, 標題
計算相關系數 = 5
End Function
Private Function 數組維數(數組() As Double) As Integer
Dim i As Integer
On Error GoTo 結束
For i = 1 To 30000
下標上限 = UBound(數組, i)
Next i
MsgBox "數組維數也太大了!!!!", okonly + vbExclamation, 標題
數組維數 = i
Exit Function
結束:
數組維數 = i
End Function
回答者: vlaoda - 總監 九級 3-5 11:29 分類上升達人排行榜
用戶名 動態 上周上升
ljl88900 875
lxz1969 805
fengerezu 800
softbeam 755
AlphaBlend 745
更多>>
訂閱該問題
msds首選阿克蘇諾貝爾,工業油漆的..
阿克蘇諾貝爾(AKZO NOBEL)武漢防護塗料有限公司,是工業防護油漆部門中國區專業的銷售..
www.paint-earth.com
優聯檢測專業從事MSDS編寫 特惠中
我們編寫的MSDS可以符合下列國家的規範:ISO,中國,美國,歐洲等主要地區的要求,提供中..
www.uts.com.cn
水蒸氣性質計算軟件源代碼下載
優易水和水蒸氣性質計算程序WaterPro7.0采用國際公認的《工業用1967年IFC公式》和《..
www.uesoft.com
您想在自己的網站上展示百度“知道”上的問答嗎?來獲取免費代碼吧!
--------------------------------------------------------------------------------
如要投訴或提出意見建議,請到
百度知道投訴吧反饋。
2009 Baidu