许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  matlab入门基础:矩阵操作(一)创建与基本运算

matlab入门基础:矩阵操作(一)创建与基本运算

阅读数 5
点赞 0
article_banner

前言

MATLAB即Matrix Laboratory(矩阵 实验 室)的缩写,足以证明MATLAB在对矩阵问题进行处理的强大,我们这篇文章主要讲解如何创建特殊矩阵,如何对矩阵进行运算。


一、创建特殊矩阵


函数作用
eye(n)创建n*n单位矩阵
eye(m,n)创建m*n的单位矩阵
eye(size(A))创建与A维数相同的单位矩阵
ones(n)创建n*n的全1矩阵
ones(m,n)创建m*n全1矩阵
ones(size(A))创建与A维数相同的全1矩阵
zeros(m,n)创建m*n全0矩阵
zeros(size(A))创建与A维数相同的全0矩阵
rand(n)在[0,1]区间内创建一个n*n均匀分布的随机矩阵
rand(m,n)在[0,1]区间内创建一个m*n均匀分布的随机矩阵
rand(size(A))在[0,1]区间内创建一个与A维数相同的均匀分布的随机矩阵
compan (K)创建系数向量是K的多项式的伴随矩阵
diag(v)创建以向量v中的元素为对角的对角阵
hilb(n)创建n*n的Hilbert矩阵
magie(n)生成n阶魔方矩阵
sparse(A)将矩阵A转化为稀疏矩阵形式,即由A的非零元素和下标构成稀疏矩阵S。若A本身为稀疏矩阵,则返回A本身。
实例:生成特殊矩阵
>> zeros(3)%创建3阶全0矩阵

ans =

       0              0              0       
       0              0              0       
       0              0              0       

>> zeros(3,2)%创建3行2列的全0矩阵

ans =

       0              0       
       0              0       
       0              0       

>> ones(3,2)%创建3行2列的全1矩阵

ans =

       1              1       
       1              1       
       1              1       

>> ones(3)%创建3阶全1矩阵

ans =

       1              1              1       
       1              1              1       
       1              1              1       

>> rand(3)%创建3*3的随机数矩阵,元素值在区间(0,1)内均匀分布

ans =

     664/815        717/785        408/1465  
    1298/1433      1493/2361      1324/2421  
     751/5914       694/7115       338/353   

>> format long,rand(3)%用15位表示

ans =

   0.964888535199277   0.957166948242946   0.141886338627215
   0.157613081677548   0.485375648722841   0.421761282626275
   0.970592781760616   0.800280468888800   0.915735525189067

>> format short,rand(3,2)%5位表示,创建3*2的随机矩阵

ans =

    0.7922    0.0357
    0.9595    0.8491
    0.6557    0.9340

>> magic(3)%创建3阶魔方矩阵

ans =

     8     1     6
     3     5     7
     4     9     2

>> hilb(3)%创建3阶Hilbert矩阵

ans =

    1.0000    0.5000    0.3333
    0.5000    0.3333    0.2500
    0.3333    0.2500    0.2000

>> invhilb(3)%创建3阶Hilbert矩阵的逆矩阵

ans =

     9   -36    30
   -36   192  -180
    30  -180   180

二、 矩阵运算

1.矩阵元素的修改


命令名说明
D=[A;B C]A为原矩阵,B、C中包含要扩充的元素,D为扩充后的矩阵
A(m,:)=[ ]删除A的第m行
A(:,n)=[ ]删除A的第n列
A(m,n)=a;对A的第m行第n列的元素赋值;
A(m,:)=[a b …];对A的第m行赋值;
A(:,n)=[a b …]对A的第n列赋值
实例:新矩阵的生成、修改矩阵元素
>> A=[1 2 3;4 5 6];
>> B=eye(2);%定义2*2的单位矩阵B
>> C=zeros(2,1);%定义2*1的全0矩阵C
>> D=[A;B C]%扩充矩阵

D =

     1     2     3
     4     5     6
     1     0     0
     0     1     0
>> D(2,:)

ans =

     4     5     6

>> D(1,2)=9

D =

     1     9     3
     4     5     6
     1     0     0
     0     1     0

2.矩阵的变维

矩阵的变维可以用符号“:”法和reshape() 函数 法。
函数调用方式:reshape(X,m,n):将已知矩阵X变维成m行n列的矩阵。

实例:矩阵维度改变
> A=1:12;%定义一个行向量
>> B=reshape(A,2,6)%将行向量A变维2行6列

B =

     1     3     5     7     9    11
     2     4     6     8    10    12
>> C=zeros(3,4);%用“:”必须先设定修改后矩阵的形状
>> C(:)=A(:)

C =

     1     4     7    10
     2     5     8    11
     3     6     9    12

3.矩阵的变向


命令名说明
rot90(A)将A逆时针方向旋转90°
rot90(A,k)k可为正整数或负整数
fliplr(X)将X左右翻转
flipud(X)将X上下翻转
flipdim(X,dim)dim=1时对行翻转,dim=2时队列翻转
实例:矩阵的变向
>> A=1:12;
>> C=zeros(3,4);%指定修改后矩阵的维度大小
>> C(:)=A(:)%将矩阵A变维为3行4列

C =

     1     4     7    10
     2     5     8    11
     3     6     9    12

>> flipdim(C,1)%上下翻转矩阵C的行

ans =

     3     6     9    12
     2     5     8    11
     1     4     7    10

>> flipdim(C,2)%左右翻转矩阵C的列

ans =

    10     7     4     1
    11     8     5     2
    12     9     6     3

4. 矩阵的抽取

对矩阵元素的抽取主要是指对角元素和上(下)三角阵的抽取。


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空