主要内容

创建、连接和扩展矩阵

最基本的MATLAB®数据结构矩阵。一个矩阵是一个二维矩形数组按行和列的数据元素。元素可以是数字、逻辑值(真正的)、日期和时间的字符串,或其他一些MATLAB数据类型。

即使一个数字存储为一个矩阵。例如,一个变量包含价值100存储为1×1矩阵的类型

一个= 100;谁一个
类属性名称大小字节1 x1 8双

构建一个矩阵的数据

如果你有一组特定的数据,你可以安排一个矩阵中的元素使用方括号。一行的数据元素之间的空格或逗号,分号分隔行。例如,创建一个单一连续的四个数字的元素。由此产生的矩阵是1-by-4的大小,因为它有一行四列。一个矩阵的形状通常被称为一个行向量。

= (12 62 93 8)
一个=1×412 62 93 8
深圳=大小(一个)
深圳=1×21 - 4

现在创建一个矩阵相同的数字,但是在两行安排。这个矩阵有两行两列。

= (12 62;93年8]
一个=2×212 62 93 8
深圳=大小(一个)
深圳=1×22 - 2

特殊矩阵函数

MATLAB具有许多功能,帮助创建矩阵与特定的值或一个特定的结构。例如,0函数创建所有0或1的矩阵。这些函数的第一和第二参数的行数和列数的矩阵,分别。

A = 0 (2)
一个=3×20 0 0 0 0 0
B = 1 (2、4)
B =2×41 1 1 1 1 1 1 1

诊断接头函数把输入矩阵的对角线上的元素。例如,创建一个行向量一个包含4个元素。然后,创建一个4×4矩阵的对角元素的元素一个

一个= (12 62 93 8);B =诊断接头(A)
B =4×412 0 0 0 0 93 62 0 0 0 0 0 0 0 0 8

连接矩阵

您还可以使用方括号一起加入现有的矩阵。这种方式创建一个矩阵连接。例如,连接两个行向量进行更长时间行向量。

一个= 1 (1、4);B = 0 (1、4);C = [B]
C =1×81 1 1 1 0 0 0 0

安排一个B的两行矩阵,使用分号。

D = [A, B]
D =2×41 1 1 1 0 0 0 0

连接两个矩阵,他们必须兼容的大小。换句话说,当你连接矩阵水平,他们必须有相同数量的行。当你垂直连接他们,他们必须有相同数量的列。例如,横向连接两个矩阵都有两行。

一个= 1 (2、3)
一个=2×31 1 1 1 1 1
B = 0 (2, 2)
B =2×20 0 0 0
C = [B]
C =2×51 1 1 0 0 1 1 1 0 0

另一种连接矩阵的方法是使用连接等功能horzcat水平,连接两个兼容的输入矩阵。

D = horzcat (A, B)
D =2×51 1 1 0 0 1 1 1 0 0

生成一个数字序列

结肠是一个方便的方式来创建矩阵元素的顺序和等间距的。例如,创建一个行向量的元素从1到10的整数。

一个= 1:10
一个=1×101 2 3 4 5 6 7 8 9 10

您可以使用冒号运算符来创建一个数字序列在任何范围内,增加了一个。

一个= -2.5:2.5
一个=1×6-2.5000 -1.5000 -0.5000 0.5000 1.5000 2.5000

改变序列增量的值,指定开始和结束之间的增量价值范围值,用冒号分开。

一个= 0:2:10
一个=1×60 2 4 6 8 10

要减量,使用一个负数。

一个= 6:1:0
一个=1×76 5 4 3 2 1 0

你也可以通过noninteger增量值。如果一个增量值不均匀分区指定的范围,MATLAB自动结束序列在最后一个值可以达到超过范围。

一个= 1:0.2:2.1
一个=1×61.0000 1.2000 1.4000 1.6000 1.8000 2.0000

扩大一个矩阵

您可以将一个或多个元素添加到一个矩阵通过将他们现有的行和列索引外边界。MATLAB自动垫与零矩阵保持直角。例如,创建一个2×3矩阵,并添加一个额外的行和列中插入一个元素(3、4)的位置。

一个= [10 20 30;60 70 80)
一个=2×310个20 30 60 70 80
(3、4)= 1
一个=3×420 30 0 60 70 80 0 0 0 0 1

你也可以扩大通过插入一个新的矩阵现有指数范围之外的。

(4:5,5:6)= [2 3;4 5]
一个=5×620 30 0 0 0 60 70 80 0 0 0 0 0 0 1 0 0 0 0 0 0 2 3 0 0 0 0 4 5

反复扩张矩阵的大小,如在一个循环,通常最好preallocate最大矩阵你预期创造的空间。每次都没有预先配置,MATLAB必须分配内存大小的增加,减缓行动。例如,preallocate矩阵包含10000行和10000列初始化它的元素为零。

一个= 0 (10000、10000);

如果你需要preallocate附加元素之后,你可以扩大外面通过分配矩阵的指数范围或连接另一个预先分配矩阵一个

空数组

在MATLAB是一个空数组至少有一维数组的长度等于零。空数组可用于以编程方式表示“无”的概念。例如,假设您想要找到一个向量的所有元素小于0,但是没有。的找到函数返回一个空向量的指标,表明它找不到任何元素小于0。

一个= (1 2 3 4);印第安纳州=找到(< 0)
印第安纳州= 1 x0空两行向量

许多算法包含函数调用可以返回空数组。通常很有用,允许空数组流经这些算法作为函数参数,而不是处理特殊情况。如果你需要定制空数组处理,您可以检查使用isempty函数。

TF = isempty(印第安纳州)
TF =逻辑1

相关的话题