我知道如何在1x1 2x2和3x3中找到這些,但我想製作一個程序讓我輸入矩陣的維數,然後輸入矩陣中的數字。輸入數字後,我希望它給出確定性(如果能夠得到一個)和矩陣的逆矩陣,但我不知道如何繞過維度部分。有什麼好的開始呢?我應該使用什麼標題?我在Linux上運行,所以我沒有像Windows一樣的標題,如果有幫助的話。 :)如何製作一個C++程序來查找任意大小的矩陣的確定和逆矩陣?
0
A
回答
1
首先挑選一本線性代數書。吉爾伯特斯特朗的一個。它看起來像一個不錯的故事書。經過LU分解並進一步進入特徵值和特徵向量。在這個過程中,你會找到兩個問題的答案。
1
一個簡單的方法就是使用像Eigen這樣的庫。
如果你真的想自己做,你必須
- 決定如何表述你的存儲矩陣,
- 編寫代碼讀取和存儲按照自己的定義的矩陣,
- 根據您的定義編寫代碼以計算矩陣的逆/行列式。
很明顯,2.和3.取決於您對1的選擇,並且找到一個好的表示並非微不足道,而是取決於您的應用程序,例如,矩陣將會變大或者稀疏或密集。
如果您不關心效率或只是假設您的矩陣很小,那麼您可能想要將矩陣表示爲一維向量。例如,你有一個4x4的矩陣,你可以分配一個長度爲16的向量。
如果我正確理解你的問題,你實際上是在問怎麼動態地(在運行時)這樣做。使用數組,它看起來是這樣的:
double* yourMatrix
yourMatrix = new double[columnCount * rowCount];
這種動態分配空間columnCount * rowCount
double
秒,您現在可以訪問該存儲器就像一個靜態數組。當你完成後,你必須delete[] yourMatrix
以防止內存泄漏。
如果您知道如何計算紙張上的行列式/反比,您應該可以從這裏開始。
相關問題
- 1. 查找3X3矩陣的小矩陣C
- 2. 查找逆矩陣
- 3. 從給定的矩陣中找出最大矩陣和最小矩陣
- 4. Python中的矩陣和逆矩陣
- 5. 矩陣大小確定
- 6. maxima中的任意大小矩陣
- 7. 良好的矩陣求逆程序C
- 8. 查找給定矩陣的子矩陣
- 9. Java中矩陣的Co因子(用於確定矩陣的逆矩陣)
- 10. 從另一個矩陣製作矩陣
- 11. 逆矩陣的在C++
- 12. C++的PETSc矩陣求逆
- 13. 找到一個可逆子矩陣
- 14. 創建2 x 2矩陣並查找其逆矩陣
- 15. Python的逆矩陣
- 16. 矩陣逆Swift
- 17. PHP逆矩陣
- 18. 逆矩陣3f
- 19. 在OpenCV中使用子矩陣製作一個大矩陣
- 20. 使用lapack在C/C++中計算矩陣的逆矩陣
- 21. 在python中有大值的矩陣的矩陣求逆
- 22. 如何計算巨大元素大小的休矩陣逆?
- 23. Armadillo C++沒有找到矩陣逆
- 24. 矩陣模板庫矩陣求逆
- 25. 矩陣大小限制
- 26. 如何使用JAMA(Java矩陣包)計算矩陣的僞逆矩陣?
- 27. 如何找到三個矩陣的每個最大元素作爲新矩陣?
- 28. 如何在Java中創建任意大小的單位矩陣?
- 29. 固定大小的矩陣和也許
- 30. 在大矩陣中找到矩陣
首先,您是否理解採用NxN矩陣行列式的(紙)數學?並找到一個NxN矩陣的逆? – Cornstalks 2013-02-19 23:11:52
你應該瞭解你如何在紙上做這件事(即瞭解它背後的數學),那麼它就會變得清晰。除非你只想反轉矩陣,但不要自己寫,那麼你可以使用像Eigen這樣的庫。 – us2012 2013-02-19 23:12:03
假設矩陣是正方形的,你可能要找的是一個原地矩陣求逆算法。 你應該檢查出http://math.stackexchange.com/questions/16940/in-place-inversion-of-large-matrices – user2051349 2013-02-19 23:12:10