MATLAB(自动控制原理)第2章_MATLAB语言程序设计基础_02矩阵与向量的输入方法

在这里插入图片描述

在这里插入图片描述

  • 在赋值语句后加分号表示:此语句完成赋值动作之后,不显示计算结果
  • 赋值语句后不加分号表示:此语句完成赋值动作之后,显示计算结果
  • 如果赋值语句没有左边的返回变量,只有右边的表达式的话,表达式会直接计算,并将计算结果赋给保留变量ans(answer)。

在这里插入图片描述

  • 同一行的不同元素之间,可以用逗号分隔,也可以用空格分隔。
  • 每一行之间,既可以用分号分隔,也可以用换行分隔。
  • 对动态定维的解释:首先从里往外看,A是之前输入的3*3矩阵,因为后面是分号,所以换行,即再给A矩阵增加一行,新增行的行元素是[1 2 3],使之变为4*3的矩阵,再看,后面是逗号,所以是在同一行再增加元素,即在4*3的矩阵右边再增加矩阵,观察发现,是一个列向量,即[1;2;3;4],最后输出结果如下图所示。
  • 所以得出结论,我们可以随意地修改矩阵的维数,即可以做动态定维。

在这里插入图片描述

在这里插入图片描述

  • 为什么要避免B = [1 +9i,2+8i,3+7i;4+6j 5+5i 6+4i;7+3i,8+2j 1i]这样的语句呢?
    因为这个矩阵的第一行第一列的1 +9i会被计算机理解为1和+9i两个元素,最终导致矩阵维数不同(矩阵第一行有4个元素,矩阵的其他行有3个元素),出现错误。

在这里插入图片描述

  • 函数调用语句格式解析:等式左边的方括号内是返回的变量,返回的变量名之间可以用逗号连接,也可以用空格连接。等式右边首先是函数名称,括号内是函数的输入变量。

在这里插入图片描述

通常,我们使用冒号表达式来生成行向量。

在这里插入图片描述

  • V1 = 0: 0.2: pi 这个语句,生成的向量中不包含pi,因为从3再增加0.2的话,就超出了pi的值,所以此行向量中最大的数是3.2。
  • 如果想把pi包含在行向量内,可以利用linspace函数,linspace()可以利用等间距的方法来生成指定数目的点,0代表从0开始,pi代表到pi结束,50代表要生成50个点。
  • 在这里插入图片描述会得到一个空矩阵。

在这里插入图片描述

  • 这里是引用表示:
    对于行:从第一行开始,步距为二,一直提取到最后一行,也就是提取的奇数行;
    对于列:提取全部列。
    综上,即提取A矩阵的全部奇数行。

  • 在这里插入图片描述表示:
    对于行:子矩阵的第一行为A矩阵的第一行,子矩阵的第二行为A矩阵的第二行,同理子矩阵的第三行和第四行也为A矩阵的第一行,即把A矩阵的第一行重复四边。
    对于列:子矩阵的列为A矩阵的全部列,即提取A矩阵的全部列。

    结果如下图

在这里插入图片描述

在这里插入图片描述

  • A = [1,2,3; 4,5,6; 7,8,0]; %表示生成矩阵A
  • B1 = A(1:2:end, : ) %表示子矩阵B1的行是提取自矩阵A的以第一行为开始,步长为2,直至最后一行,子矩阵B1的列是矩阵A的全部列
  • B2 = A([3,2,1], [2 3]) %表示子矩阵B2的第一行是提取自矩阵A的第三行,第二行是提取自矩阵A的第二行,第三行是提取自矩阵A的第一行,子矩阵B2的第一列是提取自矩阵A的第2列,第二列是提取自矩阵A的第三列。
  • B3 = A(: ,end: -1:1) %表示子矩阵B3的行提取自矩阵A的全部行,子矩阵B3的列是提取自矩阵A以最后一列为开始,步长为-1,直至第一行。
  • 结果如下图所示。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/mahoon411/article/details/107723740