您好,登錄后才能下訂單哦!
什么是矩陣?
在數學中,矩陣(Matrix)是一個按照長方陣列排列的復數或實數集合,最早來自于方程組的系數及常數所構成的方陣。這一概念由19世紀英國數學家凱利首先提出。
矩陣是高等代數學中的常見工具,也常見于統計分析等應用數學學科中。在物理學中,矩陣于電路學、力學、光學和量子物理中都有應用;計算機科學中,三維動畫制作也需要用到矩陣。 矩陣的運算是數值分析領域的重要問題。將矩陣分解為簡單矩陣的組合可以在理論和實際應用上簡化矩陣的運算。對一些應用廣泛而形式特殊的矩陣,例如稀疏矩陣和準對角矩陣,有特定的快速運算算法。關于矩陣相關理論的發展和應用,請參考矩陣理論。在天體物理、量子力學等領域,也會出現無窮維的矩陣,是矩陣的一種推廣。
——來自百度百科
例如:A是一個由m*n個元素組成的m行n列矩陣的矩陣:
矩陣的乘法的定義:
設A為n*p的矩陣,B為p*n的矩陣。則將生成一個n*n的矩陣,假定為C.
則C中的i行j列的元素可以表示為
那么在計算機程序中怎么表示呢?
首先是矩陣的定義,這里我們知道。c語言中的二維數組和其具有相似特征。
我打算用二級指針來表示所求矩陣,你想啊,給的A,B矩陣,長度要是變化了,就要修改所求矩陣的大小,不是一件很無聊的事嘛???
不過,用到了二級指針,那么注定了內存要自己管理啦。
由基礎的高等代數常識,我們可以得出。不是什么矩陣都可以做乘法的,這需要滿足一定條件。
A的行長度要和B的列長度相同才行。怎么獲取A B的長度呢?這里需要用到一個小技巧。
里面的原理,就不仔細說了。我們主要演示算法部分。
值得注意的是,程序如果計算了一半,出錯了,那么已分配內存的釋放,是一個值得考慮的問題。
我給出了以下的解決方案,請看。。。
為了方便操作,提供以下函數解耦和
更多細節,請下載源代碼。。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。