2012-04-30 148 views
0

我有兩個矩陣A和B和一個矩陣C,其中問題與矩陣操作

C = A/B

現在我想利用C的衍生物,它是

(B*dA/dx - A*dB/dx)/B^2 

我不確定上面是怎麼看的。我發現它可能看起來像

(B/B)*((dA/dx)/B) - (A/B)*(dB/dx)/B 

我很困惑我可以執行什麼樣的操作。我可以做到這一點

(B/B^2) * (dA/dx) - (A/B^2)*(dB/dx) 

我試過上述兩個,他們給了我不同的結果。在矩陣特別是乘法和除法的情況下,我不確定什麼操作是被允許的。那麼誰能澄清?

回答

2

我假設你的矩陣AB是相同的大小,並且都是正方形。如果情況並非如此,請告訴我。

在這種情況下,A/BA * inv(B)是一樣的。爲了區分這種情況,您使用的分化正常萊布尼茨規則,注意要保持在同一順序的產品(因爲矩陣乘法不上班):

d/dx (A * inv(B)) = dA/dx * inv(B) + A * d(inv(B))/dx 

如果檢查Wikipedia你可以找到該衍生物逆矩陣的是

d(inv(B))/dx = -inv(B) * dB/dx * inv(B) 

所以對於產品的衍生你

d/dx (A * inv(B)) = dA/dx * inv(B) - A * inv(B) * dB/dx * inv(B) 

你可以將通過乘法inv(B)兩側,給人

d/dx (A * inv(B)) = (dA/dx - A * inv(B) * dB/dx) * inv(B) 

,你現在可能喜歡寫使用Matlab的表達左右除法運算符,給

d/dx (A/B) = (dA/dx - (A/B) * dB/dx)/B 

這是最簡潔的,你可以把它。一般而言,您不會期望AB,dA/dxdB/dx中的任何一個可以相互通勤,因此您無法再簡化此操作。當然,如果在你的應用程序中有一些理由,那些矩陣中的一些將總是通勤,那麼進一步的簡化可能是可能的。