官术网_书友最值得收藏!

1.9.1 矩陣的擴展

在MATLAB中,可以實現矩陣的擴展的函數有4個,下面給予介紹。

(1)cat系列函數。

在MATLAB中,可以通過cat系列函數將多個小尺寸矩陣按照指定的連接方式組合成大尺寸矩陣。這些函數包括cat、horzcat和vertcat。

cat函數可以按照指定的方向將多個小尺寸矩陣連接成大尺寸矩陣,其基本格式為:

其中,dim用于指定連接方向。對于兩個矩陣的連接,cat(1,A,B)實際上相當于[A;B],近似于把兩個矩陣當作兩個列元素來連接;cat(2,A,B)相當于[A,B],近似于把兩個矩陣當作兩個行元素來連接。

horzcat(A1,A2,...)在水平方向上連接矩陣,相當于cat(A1,A2,...);vercat(A1,A2,...)在垂直方向上連接矩陣,相當于cat(1,A1,A2,...)。

不管哪個連接函數,都必須保證被操作的矩陣可以被連接,即在某個方向上尺寸一致。例如,horzcat函數要求被連接的所有矩陣都具有相同的行數,vertcat函數要求被連接的所有矩陣都具有相同的列數。

【例1-9】通過cat系列函數擴展矩陣。

(2)repmat函數。

在MATLAB中,repmat函數用于實現對矩陣塊狀的賦值。repmat函數的調用格式為:

可以將a行b列的元素A當作“單個元素”,擴展出r1,...,rN個由此“單個元素”組成的擴展矩陣。

【例1-10】利用塊狀復制函數repmat擴展矩陣。

(3)blkdiag函數。

在MATLAB中,提供blkdiag函數以對角塊生成矩陣。blkdiag函數的調用格式為:

將矩陣a、b、c、d等當作“單個元素”,安排在新矩陣的主對角位置上,其他位置用零矩陣塊填充。

【例1-11】利用blkdiag函數以對角塊生成矩陣。

(4)kron函數。

在MATLAB中,提供kron函數以實現矩陣的塊操作。kron函數的調用格式為:

把矩陣A當作一個“元素塊”,先復制擴展出size(A)規模的元素塊,然后將每個元素塊與A的相應位置的元素值相乘。

【例1-12】利用kron函數對矩陣實現塊操作。

主站蜘蛛池模板: 荃湾区| 泽州县| 南汇区| 浙江省| 冀州市| 白朗县| 金川县| 绥滨县| 都江堰市| 驻马店市| 阿鲁科尔沁旗| 皮山县| 镇江市| 冕宁县| 读书| 黔南| 凤城市| 盖州市| 宁蒗| 永善县| 工布江达县| 玉树县| 扎鲁特旗| 正蓝旗| 正定县| 报价| 镶黄旗| 江华| 海丰县| 江达县| 颍上县| 大连市| 烟台市| 武汉市| 舒兰市| 湄潭县| 金溪县| 若尔盖县| 息烽县| 麦盖提县| 屯门区|