第7章 矩陣

2021-08-03 16:18:41 字數 2569 閱讀 4628

● 矩陣主要用來描述兩個座標系統間的關係, 通過定義一種運算而將乙個座標系中的向量轉換到另乙個座標系中。

● 注意 : 向量是標量的陣列, 矩陣則是向量的陣列。

● 矩陣的維度被定義為它包含了多少行和多少列。

● 用黑體大寫字母表示矩陣,如:a, 需要引用矩陣的分量時, 採用下標法, 常使用對應的斜體小寫字母

● 注意 : 矩陣的下標是從1 開始的, 這和c/c++ 語言中以0 作為陣列下標起點有所不同。 矩陣沒有 0行0列。 當實際用c 語言陣列表達矩陣時, 這種不同將可能會導致表達混亂。(這也是我們**中不用陣列表達矩陣的原因之一)。

方陣

● 行數和列數相同的矩陣稱作方陣, 方陣 的對角線元素就是 方陣對角線上的元素。

● 如果所有非對角線元素都為0 , 那麼稱為這種矩陣為對角矩陣

● 單位矩陣是一種特殊的對角矩陣, 對角元素都為1, 對角元素以外的其他元素全部為0的n階方陣

● 注意 : 單位矩陣非常特殊, 因為它是矩陣的乘法單位元。 其基本性質是用任意乙個矩陣乘以單位矩陣, 都將得到原來的矩陣。 所以, 在某種意義上, 單位矩陣對矩陣的作用就猶如1對於標量的作用。

● 矩陣的行數和列數可以是任意正整數, 當然也包括1。

● 乙個n維向量能被當作1*n矩陣 或 n*1 矩陣, 1*n矩陣稱作行向量, n*1 矩陣稱作列向量, 行向量橫著寫, 列向量則豎著寫。

● 注意 : 混合使用向量和矩陣時, 必須特別注意向量到底是行向量還是列向量。

● 轉置矩陣是指m*n矩陣的行和列交換後得到的n*m矩陣,

● 對於向量來說, 轉置將使行向量變成列向量, 使列向量成為行向量。

● 有兩條非常簡單但很重要的關於矩陣轉置的引理:

● 矩陣m 能和標量k想乘,結果是乙個和m 維數相同的矩陣, 標量經常寫在左邊, 不需要寫乘號。 就是用k 乘以矩陣m中的每個元素。

矩陣乘法

● 乙個r*n 矩陣a 能夠乘以乙個 n*c 矩陣b, 結果是乙個 r*c矩陣。

● 注意 : 將左邊的矩陣與右邊的矩陣交換相乘時,計算結果不一致。

● 注意 : 只有當左邊矩陣的列數等於右邊矩陣的行數時, 兩個矩陣才能進行乘法運算。

● 關於矩陣乘法的注意事項:

(1) 任意矩陣m 乘以 方陣s, 不管從哪邊相乘, 都將得到原矩陣(指的是任意矩陣)大小相同的矩陣。 當然, 前提是假定乘法有意義。 如果s 是單位矩陣, 結果將時原矩陣m, 即 mi=im=m(這就是i 被稱為單位矩陣的緣故)

(2) 矩陣乘法不滿足交換律, 即ab 不等於 ba

(3) 矩陣乘法滿足結合律, 即 : (ab)c=a(bc). (假設a b c 的維數使其乘法有意義, 要注意 如果 (ab)c 有意義, 那麼a(bc一定也有意義。) 矩陣乘法結合律可以擴充套件到多個矩陣的情況下。

(4) 矩陣乘法也滿足與標量或向量的結合律,

(5) 矩陣積的轉置相當於先轉置矩陣 , 然後以相反的順序相乘,

向量與矩陣的乘法

● 在這裡, 行向量和列向量的區別非常重要

● 注意 : 行向量左乘矩陣時, 結果是行向量, 列向量左乘矩陣時, 結果是列向量,

不能用行向量右乘矩陣, 列向量左乘矩陣。

● 關於矩陣和向量相乘的注意事項:

(1) 結果向量 中的 每個元素都是原向量與矩陣中單獨行或列的點積

(2) 矩陣中的每個元素決定了輸入向量中特定元素在輸出向量中佔的比重,

(3) 矩陣—— 向量乘法滿足對向量加法的分配律。 對於向量v 、w 和矩陣m, 由:

(v+w)m = vm + wm

行向量與列向量

● 行向量和列向量與矩陣的各分量的值完全不同的。

● 當討論怎樣用矩陣乘法實現座標系轉換時, 向量左乘矩陣的形式更加方便。 採用這種方法, 轉讀起來就像句子一樣易於理解 , 當轉換多於一次時這尤為重要。

● 當使用別人的公式或源**時, 切記要檢查使用的是行向量還是列向量。 如果某書是使用列向量, 那麼用它的公式和本書的公式對比時, 首先進行轉換。

另外, 使用列向量時, 應該用向量右乘矩陣, 和本書中使用的向量左乘矩陣相反。

向量和矩陣混合相乘時, 這兩種形式的乘法次序相反。

主要概念

● 方陣的行能被解釋為座標系的基向量

● 為了將向量從原座標系變換到新座標系, 用它乘以乙個矩陣

● 從原座標系到這些基向量定義的新座標系的變換是一種線性變換, 線性變換保持直線和平行線, 但 角度、長度、面積、或體積可能會改變。

● 零向量乘以任何矩陣仍然得到零向量,因此, 方陣所代表的線性變換的原點和原座標系的原點一致, 變換不包含原點,

● 可以通過想象變換後的座標系的基向量來想象矩陣,。 這些基向量在2d 中構成 「l」型, 在3d 中構成「三角架」型。 用乙個盒子及輔助物更有助於理解。

第7章 函式 7

7.7 類的成員函式 函式原型必須在類中定義。但是,函式體則既可以在類中也可以在類外定義。7.7.1 定義成員函式的函式體 類的所有成員都必須在類定義的花括號裡面宣告,此後,就不能再為類增加任何成員。類的成員函式必須加宣告的一般定義。類的成員函式既可以在類的定義內也可以在類的定義外定義。編譯器隱式地...

第7章 排序

第7章 排序 任何通用的排序演算法均需要nlogn次比較 7.1 預備知識 略7.2 插入排序 插入排序思想 在已排序狀態插入新元素 插入排序的最壞情形和平均情形均為n的平方 7.3 一些簡單排序演算法的下界 通過比較和交換來進行排序的演算法本質上是消除序列中的逆序數,因此求解該演算法的時間複雜度時...

第7章 習題

7.1 在intel x86系統上,使用linux,如果執行乙個輸出 hello,world 的程式但不呼叫exit 或 return,則程式的返回 為13 用shell檢查 解釋其原因。hello,world n 共13個字元,而printf的返回值是輸出的字元個數,這個返回值是儲存在主函式的堆疊...