《MATLAB图像处理实例详解》:学习第二天(2022.09.08)

2.4 MATLAB的矩阵

        用一个矩阵可以表示多种数据结构,当矩阵是1×1维时,它表示一个标量,当矩阵只有一行或只有一列,它表示一个向量。

2.4.1 矩阵的建立

        在MATLAB中建立一个最简单的矩阵是使用矩阵构造函数算子 “[ ]”。创建一个行矩阵用逗号或空格来分隔每一个元素,创建一个多行矩阵,每一行之前以 “ ; ” 间隔。

函数说明
ones(n ); ones(n, m)建立一个元素都为1的矩阵
zeros(n ); zeros(n, m)建立一个元素都为0的矩阵
eye(n);eye(n, m)建立一对角线元素为1,其他元素都为0的矩阵
diag( v);diag(X);diag(v,k); diag(X , k)将一个向量变成一个对角矩阵,或求一个矩阵的对角元素
magic(n)建立一个方阵使得它的每一行,每一列,和对角线元素的和都相等
rand(n);rand(n , m)建立一个均匀分布的随机矩阵,元素值在0,1之间
randn(n);randn(n , m)建立一个标准正态分布的随机矩阵
randperm(n)建立一个随机排列的指定整数向量

2.4.2 矩阵的操作

        1、矩阵合并

                (1)横向合并:C=[A B]   

                                要求:横向合并的矩阵的行数要相同

                (2)纵向合并:C=[A;B]   

                                要求:纵向合并的矩阵的列数要相同

                (3)函数

函数说明
cat(dim,A,B)在指定方向dim 上合并A和B矩阵,如果dim=1为横向合并,dim-2为纵向合并
horzcat(A, B)横向合并矩阵
vertcat(A,b)纵向合并矩阵
repmat(A, m, n)将矩阵复制,合并成新矩阵
blkdiag(A,B)已知矩阵合并成对角矩阵

         说明:    

  •         repmat(A, m, n):是整个矩阵一块进行复制复制,纵向将A矩阵复制m次,横向将A矩阵复制n次。

        2、矩阵拆分

        如:

A=[2 1 3 5; 5 4 6 9; 7 8 9 5;2 5 8 3]
B=A(:,2:4)              %提取矩阵A中的第2列和第4列组成矩阵B
C=A([1 3],[2 4])        %提取矩阵A中的第1行和第3行,第2列和第4列元素组成矩阵c
D=A([1:3],[2:4])        %提取矩阵A中的1至3行,2至4列中元素组成新矩阵D
E=A([1:3;4 5 7;2:4])    %提取矩阵A中单下标为1至3的元素为第一行,下标为4,5,7的元素为第二行,下标为2~4的为第三行组成矩阵E

        代码中,逗号前表示行数,逗号后表示列数-----A(行数,列数)

2.4.3 矩阵运算相关函数

det( )求方阵行列式的值

transpose( )  

或 "  ‘ "

求矩阵的转置矩阵
inv( )求逆矩阵(有条件)
inv( )求广义逆矩阵
rank( )求矩阵的秩

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值