給你一個函數(shù) Public Sub Vect1XtoVect2(ByVal x1 As Double, ByVal y1 As Double, ByVal z1 As Double, _ ByVal x2 As Double, ByVal y2 As Double, ByVal z2 As Double, _ ByRef xNew As Double, ByRef yNew As Double, ByRef zNew As Double) '矢量叉積 xNew = y1 * z2 - z1 * y2 yNew = z1 * x2 - x1 * z2 zNew = x1 * y2 - y1 * x2 End Sub其中x1,y1,z1為第一個矢量,x2,y2,z2為第二個矢量xnew,ynew,znew為得到的新矢量
創(chuàng)新互聯(lián)建站主要從事網(wǎng)站設(shè)計、做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)肥城,10多年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220
要實現(xiàn)什么樣的功能呢?矩陣就是二維表吧,在.Net中有許多方法可以實現(xiàn)二維表,根據(jù)不同的需求選擇適合的方法,你應(yīng)該詳細(xì)一點說明
運用初等行變換法。具體如下:
將一n階可逆矩陣A和n階單位矩陣I寫成一個nX2n的矩陣B=[A,I]對專B施行初等行變換,即對A與I進(jìn)行屬完全相同的若干初等行變換,目標(biāo)是把A化為單位矩陣。當(dāng)A化為單位矩陣I的同時,B的右一半矩陣同時化為了A的逆矩陣。
如求
的逆矩陣
故A可逆并且,由右一半可得逆矩陣A^-1=
擴展資料:
矩陣的應(yīng)用:
在幾何光學(xué)里,可以找到很多需要用到矩陣的地方。幾何光學(xué)是一種忽略了光波波動性的近似理論,這理論的模型將光線視為幾何射線。
采用近軸近似,假若光線與光軸之間的夾角很小,則透鏡或反射元件對于光線的作用,可以表達(dá)為2×2矩陣與向量的乘積。這向量的兩個分量是光線的幾何性質(zhì)(光線的斜率、光線跟光軸之間在主平面。
這矩陣稱為光線傳輸矩陣,內(nèi)中元素編碼了光學(xué)元件的性質(zhì)。對于折射,這矩陣又細(xì)分為兩種:“折射矩陣”與“平移矩陣”。折射矩陣描述光線遇到透鏡的折射行為。平移矩陣描述光線從一個主平面?zhèn)鞑サ搅硪粋€主平面的平移行為。
矩陣求逆的VB程序
Private Function MRinv(N As Integer, mtxA() As Double) As Boolean
'****************************************************************************************
' 功能: 實現(xiàn)矩陣求逆的全選主元高斯-約當(dāng)法
' 參數(shù): n - Integer型變量,矩陣的階數(shù)
' mtxA - Double型二維數(shù)組,體積為n x n。存放原矩陣A;返回時存放其逆矩陣A-1。
' 返回值:Boolean型,失敗為False,成功為True
'****************************************************************************************
ReDim nIs(N) As Integer, nJs(N) As Integer
Dim i As Integer, j As Integer, k As Integer
Dim D As Double, p As Double
' 全選主元,消元
For k = 1 To N
D = 0#
For i = k To N
For j = k To N
p = Abs(mtxA(i, j))
If (p D) Then
D = p
nIs(k) = i
nJs(k) = j
End If
Next j
Next i
' 求解失敗
If (D + 1# = 1#) Then
MRinv = False
Exit Function
End If
If (nIs(k) k) Then
For j = 1 To N
p = mtxA(k, j)
mtxA(k, j) = mtxA(nIs(k), j)
mtxA(nIs(k), j) = p
Next j
End If
If (nJs(k) k) Then
For i = 1 To N
p = mtxA(i, k)
mtxA(i, k) = mtxA(i, nJs(k))
mtxA(i, nJs(k)) = p
Next i
End If
mtxA(k, k) = 1# / mtxA(k, k)
For j = 1 To N
If (j k) Then mtxA(k, j) = mtxA(k, j) * mtxA(k, k)
Next j
For i = 1 To N
If (i k) Then
For j = 1 To N
If (j k) Then mtxA(i, j) = mtxA(i, j) - mtxA(i, k) * mtxA(k, j)
Next j
End If
Next i
For i = 1 To N
If (i k) Then mtxA(i, k) = -mtxA(i, k) * mtxA(k, k)
Next i
Next k
' 調(diào)整恢復(fù)行列次序
For k = N To 1 Step -1
If (nJs(k) k) Then
For j = 1 To N
p = mtxA(k, j)
mtxA(k, j) = mtxA(nJs(k), j)
mtxA(nJs(k), j) = p
Next j
End If
If (nIs(k) k) Then
For i = 1 To N
p = mtxA(i, k)
mtxA(i, k) = mtxA(i, nIs(k))
mtxA(i, nIs(k)) = p
Next i
End If
Next k
' 求解成功
MRinv = True
End Function
來源: