MATLAB学习笔记三——矩阵的构造、下标与四则运算

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

矩阵的构造

有这么几种方法直接[ ]法是最简单的

S=[1 3 4 5 6]

其他方法如下代码所示

根据最大最小值步长所构造一个1行N列矩阵

A=1:2:9 %1作为最小值9作为最大值中间2是步长创建一个1行N列矩阵
%最小值+2=33+2=55+2=77+2=最大值
B=1:3:9 %最小值+3=4再+3=7再+3=10但超出最大值所以不列为矩阵内得数

结果为

A =

     1     3     5     7     9


B =

     1     4     7

将某矩阵看作一个整体进行拓展整体行列的方法构造新矩阵

C=repmat(B,3,1) %rempat函数意思是将B矩阵看作一个整体构造一个3行1列的B矩阵整体
D=repmat(A,2,2) %构造一个2行2列的A矩阵整体

结果为

C =

     1     4     7
     1     4     7
     1     4     7


D =

     1     3     5     7     9     1     3     5     7     9
     1     3     5     7     9     1     3     5     7     9

构造一个全1矩阵

E=ones(3,2) %构造一个3行2列的全1矩阵ones函数用法

结果为

E =

     1     1
     1     1
     1     1

矩阵四则运算

这个很好理解学过线性代数都知道。
废话不多说看代码

A=[1 2 5 3;1 3 5 2]
B=[2 3 4 2;3 2 4 1]
  • 矩阵相加
C=A + B %A矩阵与B矩阵对应项相加得到一个还是2行4列的矩阵

结果为

C =

     3     5     9     5
     4     5     9     3
  • 矩阵相减
D=A - B %A矩阵与B矩阵对应项相减得到一个还是2行4列的矩阵

结果为

D =

    -1    -1     1     1
    -2     1     1     1
  • 矩阵对应相乘
F=A .* B %A矩阵与B矩阵对应项相乘得到一个还是2行4列的矩阵

结果为

F =

     2     6    20     6
     3     6    20     2
  • 矩阵对应相除
H=A ./ B %A矩阵与B矩阵对应项相除得到一个还是2行4列的矩阵

结果为

H =

    0.5000    0.6667    1.2500    1.5000
    0.3333    1.5000    1.2500    2.0000
  • 矩阵相乘转置矩阵
E=A * B' %A矩阵*B的转置矩阵可得一个2行2列的矩阵矩阵乘法参考线性代数

结果为

E =

    34    30
    35    31
  • 矩阵普通相除
G=A / B %A矩阵与B矩阵相除就是A矩阵*B的逆矩阵也就是A*inv(B)

结果为

G =

    1.3333   -0.3333
    1.3333   -0.3000

注意事项

  1. 构造的矩阵A的列数等于矩阵B的行数时A与B可以相乘。
  2. 矩阵C的行数等于矩阵A的行数C的列数等于B的列数。C=AB)
  3. 乘积C的第m行第n列的元素等于矩阵A的第m行的元素与矩阵B的第n列对应元素乘积之和。

百度百科·矩阵乘法
https://baike.baidu.com/item/%E7%9F%A9%E9%98%B5%E4%B9%98%E6%B3%95/5446029

矩阵下标

一般是根据下标查找矩阵的值或者根据值查找矩阵的下标或者查找矩阵某行/列所有值
看代码

A=magic(4) %生成一个4阶幻方矩阵

结果为

A =

    16     2     3    13
     5    11    10     8
     9     7     6    12
     4    14    15     1
  • 根据矩阵下标取得矩阵的值构造一个1x1矩阵
B=A(3,4) %B矩阵是A矩阵第3行第4列的值构造出来的1x1矩阵
%34是A矩阵下标

结果为

B =

    12

注意工作区
在这里插入图片描述

  • 查找矩阵的某一行
C=A(2,:) %C矩阵是第2行的所有值构造出来的1行4列矩阵
%“:”是代表取全部

结果为

C =

     5    11    10     8
  • 查找矩阵的的某一列
D=A(:,1) %D矩阵是第1列的所有值构造出来的4行1列矩阵

结果为

D =

    16
     5
     9
     4

注意工作区
在这里插入图片描述
A B C D都是MXN的double型

  • find函数用法
[m,n]=find(A > 10) %mn代表矩阵下标find函数用法查百度。
%意思是找A矩阵中的大于10的值的下标序号就是其所在的m行n列。

%% 练习
S=[10 3 5 7 24]
[q,w]=find(S>5)
%[q,w]=find(5) %这个意思是找到S矩阵中值为5的所在位置下标

结果为

m =

     1
     2
     4
     4
     1
     3


n =

     1
     2
     2
     3
     4
     4


S =

    10     3     5     7    24


q =

     1     1     1


w =

     1     4     5

矩阵算是搞完了还是比较难的掌握了就好。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6