首页 科技 军事 财经 教育 体育 房产 健康 汽车 安全 热点 人才 推选

推选

旗下栏目:

在matlab中x1=x(:1);x2=x(:2);是什么意思

发布时间:2019-07-24 来源:原创/投稿/转载 作者:admin 人气:

  这行代码的意思是,从x这个矩阵中取出第一列赋给x1,再从x矩阵中取出第二列赋给x2。执行后x1和x2是两个列向量,分别是x这个矩阵第一列和第二列。

  1、等号左边的x1=在matlab里面代表赋值。赋值就是把等号右边的值赋值给左边的变量。所以x1将会得到等号右边的数值。

  2、等号右边是x(:,1),其中x应在之前就已经定义过,否则单独一句的代码无法执行。由题可得x是一个矩阵。为方便讲解x自定义了一个4行4列的矩阵,以它为例子。

  3.、x后面的小括号是一种数组的索引方法。数组的索引就是取出数组中的某一部分的操作。假如要索引一个二维数组,括号里就要有两个参数(行号和列号)。参数之间用逗号分隔。比如x(3,4)表示取出矩阵x第三行第四列的那个数。在例子中是12。

  4、 如果要索引数组的一片区域,可在行或列参数里用开始的行号:结束的行号这种格式表示要取连续的行或列。如x(1:3,3:4) 就表示取出第1行到第3行并且还是第3列到第四列相交的一片区域,这样取出的是一个小矩阵。

  5、x(:,4)表示只要取出一列,就不用限定行,因此在行的参数一栏开始和结束行号都不写,只留下一个冒号,来表示所有行都要保留,表示取出第四列。得到的是一个列向量。

  6、x1=x(:,1);x2=x(:,2); 连起来效果就是可以得到两个列向量。加了分号的命令可以写在一行而且没有任何输出。你可以只输入x1回车查看x1的值,也可以到工作空间窗口双击查看变量。最终运行结果如下:

  根据语境,这行代码的意思是,从x这个矩阵中取出第一列赋给x1,再从x矩阵中取出第二列赋给x2。执行后x1和x2是两个列向量,分别是x这个矩阵第一列和第二列。

  解析:这是两条语句写在了一行上。以逗号分隔。第一句x1=x(:,1)和第二句x2=x(:,2)的语法结构是一样的。这里只以第一句为例。

  1. 首先是开头的x1=,这里的=号在matlab里面代表赋值。赋值就是把等号右边的值复制给左边的变量。因此x1将会得到等号右边的东西。

  2. 等号右边是x(:,1)。这个x在之前就已经定义过,否则单独一句的代码无法执行。按照这里的语境,x是一个二维数组,即矩阵。为方便讲解x我自定义了一个4行4列的矩阵,以它为例子。

  3. x后面的小括号是一种数组的索引方法。数组的索引就是取出数组中的某一部分的操作。假如要索引一个二维数组,括号里就要有两个参数(行号和列号)。参数之间用逗号分隔。比如x(3,4)表示取出矩阵x第三行第四列的那个数。在例子中是12。

责任编辑:admin