MATLAB 03(矩阵)

本文详细介绍了如何在编程中使用分号和回车创建矩阵,包括常用矩阵生成函数如ones(),zeros(),以及矩阵的加减乘除、点乘幂运算。还涵盖了如何修改单个和多元素值,删除行列,添加行列,以及矩阵的其他操作,如求逆和使用rand(),randi(),randn()生成随机数矩阵。
摘要由CSDN通过智能技术生成

1、矩阵的建立

1)用分号创建矩阵

说明:分号的作用为区分不同的行

2)用回车键创建矩阵

说明:回车的作用表示开始新的一行

3)常用创建矩阵的命令

c=ones(m,n)     产生一个m行n列的元素全为1的矩阵

b=zeros(m,n)   产生一个m行n列的零矩阵 

2、矩阵的运算

1)矩阵的加法、减法运算 

2)矩阵的点乘、点除和点乘幂运算

两个矩阵对应元素进行相乘:A.*B

两个矩阵对应元素进行相除:A./B

一个矩阵所有元素都进行n次方:A.^n 

3、对矩阵的元素进行操作

*magic是拉丁方,各行各列以及对角线的和是一个常数[n*(n^2+1)/2)],magic(5)是五元拉丁方,和为65 

A =

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

1)修改单个元素的值 

已知矩阵A=magic(5),请将A的第1行第2列的元素改为10。

 或(说明矩阵元素是按照列的先后顺序排放的)

2)修改多个元素的值

已知矩阵A=magic(5),请将A的第2行第2至第4列的元素改为7,8,9

3)删除一行或一列

已知矩阵A=magic(5),请删除A的第2行。 

已知矩阵A=magic(5),请删除A的第3列。

4)增加一行或一列

已知矩阵A=magic(5),请让[1 2 3 4 5]成为A的第5行。 

已知矩阵A=magic(5),请让[1;2;3;4;5]成为A的第5列。

5)将矩阵排成一列

已知矩阵A=magic(5),请A排成一列,使得A的第一列在第二列前面,第二列在第三列前面,第三列在第四列前面,第四列在第五列前面。

A =

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9


B =

    17
    23
     4
    10
    11
    24
     5
     6
    12
    18
     1
     7
    13
    19
    25
     8
    14
    20
    21
     2
    15
    16
    22
     3
     9

  4、矩阵的其他操作

1)inv() 
A=magic(5)
B=inv(A) %矩阵求逆

A =

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9


B =

   -0.0049    0.0512   -0.0354    0.0012    0.0034
    0.0431   -0.0373   -0.0046    0.0127    0.0015
   -0.0303    0.0031    0.0031    0.0031    0.0364
    0.0047   -0.0065    0.0108    0.0435   -0.0370
    0.0028    0.0050    0.0415   -0.0450    0.0111
 

2)zeros()
E=zeros(10,5,3)
E(:,:,1) = rand(10,5)
E(:,:,2) = randi(5,10,5)
E(:,:,3) = randn(10,5)

10行5列的0矩阵 ,三维

rand、randi和randn的区别?

1、rand生成均匀分布的伪随机数。分布在(0~1)之间

主要语法:rand(m,n)生成m行n列的均匀分布的伪随机数

                  rand(mn,'double)生成指定精度的均匀分布的伪随机数,参数还可以是'single'

                  rand(RandStream,m,n)利用指定的RandStream(我理解为随机种子)生成伪随机数

2、randn生成标准正态分布的伪随机数(均值为0,方差为1)

主要语法:和上面一样

3、randi生成均匀分布的伪随机整数

主要语法:randi(iMax)在开区间(0,iMax)生成均匀分布的伪随机整数

                  randi (iMax,m,n)在开区间(0,iMax)生成mXn型随机矩阵

                  r=randi([iMin,iMax],m,n)在开区间(iMin,iMax)生成mXn型随机矩阵


A=[ -2  0  3  9   4  5
     8  7  5  1   3  20
     0  1  0  3  3   5
     7  -3  6  1  2  0   ];
A(2,3)=9
A(4,5:6)=1
A(:,1)=[]
A(5,:)=[0 0 0 1 0]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值