1.3 矩阵与数组 1.3.1 MATLAB中矩阵的生成 1.3.2 MATLAB矩阵操作 1.3.3 数组创建与运算
1.3.1 MATLAB中矩阵的生成 学好的关键 MATLAB的基本单位是矩阵。 直接输入创建矩阵 整个矩阵以“[”和“ ]”作为首尾; 同行的元素用“,”或空格隔开; 不同行的元素用“;”或按Enter键来分隔; 矩阵的元素可以为数字也可以为表达式; 如果进行的是数值计算,表达式中不可包含未知的变量。
例1.4 直接输入创建矩阵 解:MATLAB命令为 A = [1,2,3; 4,15,60; 7,8,9] ↙ A = 1 2 3 4 15 60 7 8 9
例1.7 生成3阶魔方矩阵。 解:Matlab命令为 magic(3) ↙ ans = 8 1 6 3 5 7 4 9 2
操作符“:”的说明 j:k j:i:k A(i:j) 1:5 ↙ %步长为1的等差数列。 Ans = 1 2 3 4 5 步长为1的等差数列构成的数组:[j, j+1,j+2,…, k] j:i:k 步长为i的等差数列构成的数组:[j,j+i,j+2*i,…, k] A(i:j) 表示A(i),A(i+1),…,A(j) 1:5 ↙ %步长为1的等差数列。 Ans = 1 2 3 4 5
1.3.2 MATLAB矩阵操作 A(i,j) 表示矩阵A的第i行第j列元素。 A(:,j) 表示矩阵A的第j列。 A(i,:) 表示矩阵A的第i行。 A(:,:) 表示A的所有元素构造2维矩阵 A(:) 表示以矩阵A的所有元素按列做成的一个列矩阵。 A(i) 表示矩阵A(:)的第i个元素。 [ ] 表示空矩阵
例1.9 已知矩阵 , 解:A=[1 23 56;sin(3) 7 9;log(2) 6 1] ↙ A = 1.0000 23.0000 56.0000 0.1411 7.0000 9.0000 0.6931 6.0000 1.0000 A(2,3) ↙ %求矩阵A的第二行第三列元素。 ans = 9 抽取与修改矩阵A的一些元素.
A(4) ↙ %求矩阵A的第四个元素。 ans = 23 A(2:4) ↙ %取矩阵A的A(2),A(3),A(4)。 0.1411 0.6931 23.0000 A(1,:) ↙ %取矩阵A的第一行。 1 23 56
A(:,3) ↙ %取矩阵A的第三列 ans = 56 9 1 a=A(1,3) ↙ %把矩阵A的第一行第三列元素 赋值给变量a。 a =
矩阵的运算 A+B:矩阵加法 A-B: 矩阵减 A*B: 矩阵乘法 A\B: 矩阵的左除 A/B: 矩阵的右除 transpose(A)或A’:A的转置 K*A :数k乘以A det(A): A的行列式: rank(A):A的秩
1.3.3 数组创建与运算 特殊数组的创建: linspace(a,b,n) 给出区间[a,b]的n个等分点数据 logspace(a,b,n) 给出区间 的n个等比点数据公比为 例1.12:利用如上两个命令分别给出区间[0,1] 的6个等分点数据. linspace(0,1,6) ↙ %给出区间[0,1] 的6个等分点数据 ans = 0 0.2000 0.4000 0.6000 0.8000 1.0000
数组的运算: 例1.13:数组运算 a=1:5 ↙ %定义数组a a = 1 2 3 4 5 b=3:2:11 ↙ %定义数组b b = 除了作为1×n的矩阵应遵循矩阵的运算规则外,还提供了一些特殊的运算 数组的运算: 乘法:.* ,左除:.\ ,右除:./ ,乘幂: 例1.13:数组运算 a=1:5 ↙ %定义数组a a = 1 2 3 4 5 b=3:2:11 ↙ %定义数组b b = 3 5 7 9 11
a.^2↙ %数组a的每一个元素求平方 ans = 1 4 9 16 25 a.*b↙ %数组a的每一个元素乘以对应数组b的元素 3 10 21 36 55