【MATLAB学习笔记03】数组(向量和矩阵)的相关知识

1. 前言

停更有点久了,虽然前面的阅读量和点赞收藏量挺少的,但秉承着一幅蓝图绘到底的精神,争取把后面的笔记整理后发出来,与大家一起学习。

如果觉得有帮助,不妨分享给你的小伙伴,并给博主点个收藏、点个赞、再点个关注。

你的支持,是博主持续更新的最大动力。

目录

1. 前言

2.向量和矩阵的输入

2.1 行向量【1行n列矩阵】( row vector )         

2.2 列向量 【n行1列矩阵】( column vector )  

2.3  n行n列矩阵的输入   【基于上述行与列向量的输入规则得到的】

2.4  输入一个n项等差数列

2.5  输入特殊的矩阵

2.6 输入字符型矩阵

2.7 元胞数组

2.8 多维矩阵

3. 矩阵的输出及修改

3.1 输出n行n列矩阵的某一个元素    【注意是小括号】

3.3 把n行n列矩阵变成另一个矩阵

 3.4 修改n行n列矩阵中的某个元素

3.5 删除矩阵中的某行

 3.6 合并多个矩阵

【矩阵必须满足"线性代数"课程中的要求,才可合并】

4. 矩阵的运算

4.1 常用运算符号及使用方法

4.2 常见运算的运算规则

4.3 与矩阵相关的函数


2.向量和矩阵的输入

2.1 行向量【1行n列矩阵】( row vector )         

书写方法中括号中的数字用 "空格或逗号" 隔开

格式:[ 1 2 3 4 ]          以此类推。

2.2 列向量 【n行1列矩阵】( column vector )  

书写方法:中括号中的数字用 "分号" 隔开

格式:[1;2;3;4]            以此类推。

2.3  n行n列矩阵的输入   【基于上述行与列向量的输入规则得到的】

  1) 同一个矩阵,所有的元素都在1个中括号中

  2) 同一行的元素,中间用"空格"隔开。

  3) 当需要换行时,在换行处输入"分号"

 例:        c=[1 2 3 4 ; 5 6 7 8; 9 1 0 2 ]

2.4  输入一个n项等差数列

 公差为1的数列:  arr = j : k      【j: 数列的第一个元素;k: 数列的最后一个元素】

 公差为 i 的数列:  arr = j ; i : k   【j: 数列的第一个元素;k: 数列的最后一个元素】

 注意 i j k 中间是用 " 冒号 " 隔开;数列可以不用括号将等号后包起来。

2.5  输入特殊的矩阵

 1) 单位矩阵(简称: E 或 I) 【特征: 对角线上元素等于1,其他位置等于0】

       eye(n)   n: 该单位矩阵的阶数

 2) 零矩阵  【矩阵中所有元素的值都等于0】

       zeros(行数, 列数)

 3) 所有元素为1的矩阵

      ones(行数, 列数)

 4) 对角线矩阵 【特征:除了对角线上的元素可以不为0外,其他位置元素都等于0】

         diag( [ 对角线上的文字 ] )

 5) 随机生成一个元素为0~1的方阵

       rand( n )               n :方阵的大小【整数】

2.6 输入字符型矩阵

1)例子:

C=["Tim" "Chris"];     % 输入一个1* 2的  字符串数组

D=["Tim" ;"Chris"];    % 输入一个2* 1的  字符串数组

2)注意:输入字符型数组(向量/矩阵)时,要注意使用的是中括号、双引号,不是单引号;其他规则同输入数字的矩阵

2.7 元胞数组

这部分内容较多,后续单独写成一篇文章。

先简单地记住,用大括号{}框起来的是元胞数组;中括号框起来的普通的数组。

2.8 多维矩阵

1) 何为n维矩阵

一维矩阵是行向量,即:一行n列

二维矩阵则需要行(row)坐标和列(column)坐标来确定一个位置。

三维矩阵是需要三个数字来确定一个位置【行(row) 列(column) 层(layer)】

2)三维矩阵(三维元胞数组)的表达:

方法1:

A{row, column,layer} = data 【此式子为输入元胞数组;如果是数组,就把大括号改为小括号】

示例代码:

A{1,1,1} = [1 2;4 5];

A{1,2,1} = 'Name';

A{2,1,1} = 2-4i;

A{2,1,1} = 7;

A{1,1,2} = 'Name2';

A{1,2,2} = 3;

A{2,1,2} = 0:1:3;

A{2,2,2} = [4 5]';

方法2:

先把三维数组中的每一层作为一个二维数组单独输入,再使用cat函数,把多个二维数组组合。

补充:cat函数的语法

 cat(dim,B,C) ( B、C为两个二维数组)

dim=1时,每个数组按列组合

 dim=2时,每个数组按行组合

dim=3时,每个数组为一个层次(从前往后数)

示例代码

B_cat=[1 2;3 4];

C_cat=[5 6;7 8];

D1=cat(1,B,C); % dim=1

D2=cat(2,B,C); % dim=2

D3=cat(3,B,C); % dim=3

% 使用方法2输入方法1中的示例代码:

A{1,1} = [1 2;4 5];

A{1,2} = 'Name';

A{2,1} = 2-4i;

A{2,2} = 7;

B{1,1} = 'Name2';

B{1,2} = 3;

B{2,1} = 0:1:3;

B{2,2} = [4 5]';

C = cat(3, A, B);

3. 矩阵的输出及修改

3.1 输出n行n列矩阵的某一个元素    【注意是小括号】

 方法 1) 变量名 (row,column)

      a. 在小括号中输入想要输出元素的行坐标和列坐标

      b. 例 

   方法 2) 变量名 (number)        

      a. 在小括号中输入元素在矩阵中,从左到右, 一列一列数(先从上往下,再从左往右数),这个数为计算结果.

示例代码:

c=[1 2 3 4 ; 5 6 7 8; 9 1 0 2 ]

c1 = c(2,3)  % 结果为7
c2 = c(10)   % 结果为4

3.2  输出行向量或列向量中的某一个元素

 方法:     变量名 (number)          在小括号中输入第n个元素的n.

3.3 把n行n列矩阵变成另一个矩阵

          1) 以输出n行n列矩阵的某一个元素;n行n列矩阵的输入 的方法为基础

          2) 格式 

               a.方法:  变量名( [ row ] [ column ] ) 

                 输出的矩阵的元素为,在原矩阵中,

                  输入的行、列数对应的行与列的相交的元素所组成的矩阵

                   例:c([1 3], [1 3])        

                b. 方法 :变量名( [  ] )

                   输入的数字按照上述方法输入对应元素代表的数字,

                   然后,同行用空格或逗号隔开,换行出用分号隔开。

                   例:例 (以127行为例):    c ( [1 7; 3 9] )    

 3.4 修改n行n列矩阵中的某个元素

1)利用 " 输出n行n列矩阵的某一个元素  "的方法定位要修改的元素位置,后面加上 "=要修改成的值"

 例:             c(1,2)=100               c(5)=100

2)特殊情况: 同1行代码中,同时修改矩阵中的多个元素  

 利用"把n行n列矩阵变成另一个矩阵" 的方法定位多个要修改的元素的位置,后加上" = [ 要修改的值 ] "

   a. 如果值相同,可以写成      A([4 6])=0   这样的形式。

   b. 如果值不相同,

       aa. 在同一列 (行) 时, 在等号后面的中括号中,输入的值,直接用空格或逗号隔开。

       ab. 不在同一列 (行) 时,在等号后面的中括号中,输入的值,根据修改位置所构成的矩阵的样子,在换行处添加分号。

3.5 删除矩阵中的某行

     1)  首先知道,如何表示矩阵的某行某列。         

            a.      A ( :  , j) 是A的第 j 列         

            b.      A ( i , : ) 是A的第 i 行

        注意冒号和行数或列数的位置。

     2) 通过将要删除的行或列用  " =[ ] " 将其赋空值,即可将它删掉。

 例:删除矩阵的第三行         A(3,:) = []

 3.6 合并多个矩阵

【矩阵必须满足"线性代数"课程中的要求,才可合并】

已知矩阵:a 和 b ;合并成 c

         1) 两个矩阵 "横" 着拼接:      输入        c = [a , b]     OR     c=[a b]   

         2) 两个矩阵 "竖" 着拼接:      输入        c = [a ; b]

4. 矩阵的运算

4.1 常用运算符号及使用方法

 1) 加(+)  减(-)  乘(*)  除(/)  点乘( .* )  点除( ./ )  转置( ' )

 tips: 运算符中有 " . " , 就是对应位置的元素进行运算。

2)  例:  a=[1 2 3; 4 5 6 ; 7 8 9]     b=[3 3 3 ; 3 3 3; 3 3 3]

    点乘:a.*b         点除:   a./b         转置:  a'      乘:a*b   

4.2 常见运算的运算规则

    1) 矩阵的加减:两个矩阵对应位置的元素进行加减。【两个矩阵必须是同型的】

    2) 矩阵的乘法:矩阵1的a行与矩阵2的b列中,对应位置相乘,然后相加,得到的结果为答案矩阵的a行b列位置。(矩阵的相乘,计算方法遵循"线性代数"课程中的内容。) 

    3) 矩阵的除法:设矩阵a b,a/b = a*b^-1   【逆矩阵的知识】

    4) 矩阵的点乘和点除: 两个矩阵中,相同位置处的元素相乘(除),得到的结果为答案矩阵的相同位置的结果。【矩阵的点乘和点除与矩阵的加减类似】

   5) 矩阵的转置:矩阵A的转置:A'

   6) 矩阵与数字相加减: 就是数字与矩阵的每个元素都进行加减。【乘除注意区分, 见'8)'】

   7)  a.^b  :   两个矩阵对应位置进行a^b

   8)  【注意区分】  

设A为矩阵,a=2,

    x4=A^a    结果为:A^2=A*A            所以,此式子的意思是a个A矩阵相乘。

    x5=A.^a   结果为:矩阵A中的每个元素取a的n次方   

4.3 与矩阵相关的函数

  设矩阵A

    1) max(A)                     输出 矩阵A中每列的最大值【n列的矩阵有n个最大值】

    2) max( max ( A ) )       输出 矩阵A中所有元素的最大值

    3) min(A)                      输出 矩阵A中每列的最小值

    4) sum(A)                     输出 矩阵A中每列的所有元素之和

    5) mean(A)                   输出 矩阵A中每列的所有元素的平均值

    6) sort(A)                      对矩阵A中每列元素,由上到下进行元素从小到大的排序

    7) sortrows(A)              对矩阵A进行行与行的调整,以第一列元素从小到大进行排序。小的在                                               上,大的在下

    8) size(A)                      输出矩阵的行数、列数   【第一个是行数,第二个数是列数】

    9) length(A)                  输出矩阵的行数与列数的最大值

    10) find(A==n)             输出矩阵中该数字的位置【计算方法: 从左往右,从上到下一列一列数】

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦心嵩铸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值