目录
一、 数组
1、创建简单的数组
x=[1 2 3 4 5 6]; % 创建包含指定元素的行向量
x = first:last; % 创建从first开始,默认加1计数,到last结束的行向量
x = first:increment:last; % 创建从first开始,加increment计数,last结束的行向量
x = 0:4:20 % 输出 x = 0 4 8 12 16 20 (包含first和last)
x = linspace(first,last,n); % 创建从first开始,到last结束,有n个元素的行向量
x = linspace(1,100,5)
% x = 1.0000 25.7500 50.5000 75.2500 100.0000
x = logspace(first,last,n); % 创建从first开始,到last结束,有n个元素的对数分隔行向量
x = logspace(0,2,3) % 1 10 100
% 生成0到2之间的3个数:0, 1, 2
% 再生成以10为底的对数间隔:10的0次方,10的1次方,10的2次方
x = logspace(0,2,5) % 1.0000 3.1623 10.0000 31.6228 100.0000
% 生成0到2之间的5个数:0, 0.5, 1, 1.5, 2
% 再生成以10为底的对数间隔:10的0次方,10的0.5次方,10的1次方,10的1.5次方,10的2次方
2、 数组元素的访问
(1)访问一个元素:x(i)表示访问数组x的第i个元素;
(2)访问一块元素:x(a :b :c)表示访问数组x的从第a个元素开始,以步长为b到第c个元素(但不超过c),b可以为负数,b缺损时为1;
(3)直接使用元素编址序号:x([a b c d]) 表示提取数组x的第a、b、c、d个元素构成一个新的数组。
3、数组的方向(行列向量)
前面例子中的数组都是行向量。现产生列向量:
c = [1; 2; 3; 4];
% 或转置产生:
b = [1 2 3 4]; % b为行向量
c = b'; % c为列向量
以空格或逗号分隔的元素指定的是不同列的元素,而以分号分隔的元素指定了不同行的元素。
二、矩阵
1、矩阵的建立
% 直接输入矩阵
m=[1 2 3 4; 5 6 7 8; 9 10 11 12]
m =
1 2 3 4
5 6 7 8
9 10 11 12
p=[1 1 1 1
2 2 2 2
3 3 3 3]
p =
1 1 1 1
2 2 2 2
3 3 3 3
% 特殊矩阵的建立
a=[]; % 产生一个空矩阵,当对一项操作无结果时,返回空矩阵,空矩阵的大小为零
b=zeros(m,n); % 产生一个m行、n列的零矩阵
c=ones(m,n); % 产生一个m行、n列的元素全为1的矩阵
d=eye(m,n); % 产生一个m行、n列的单位矩阵
d=eye(4,6)
d =
1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 1 0 0
2、矩阵中元素的操作
(1)矩阵A的第r行:A(r, :)
(2)矩阵A的第r列:A(:, r)
(3)依次提取矩阵A的每一列,将A拉伸为一个列向量:A(:)
(4)取矩阵A的第i1~i2行、第j1~j2列构成新矩阵:A(i1:i2, j1:j2)
(5)以逆序提取矩阵A的第i1~i2行,构成新矩阵:A(i2:-1:i1, :)
(6)以逆序提取矩阵A的第j1~j2列,构成新矩阵:A(:, j2:-1:j1)
(7)删除A的第i1~i2行,构成新矩阵:A(i1:i2, :) = [ ]
(8)删除A的第j1~j2列,构成新矩阵:A(:, j1:j2) = [ ]
(9)将矩阵A和B拼接成新矩阵:[A B];[A;B]
3、矩阵运算
矩阵加法:A+B
矩阵乘法:A*B
方阵的行列式:det(A)
方阵的逆:inv(A)
方阵的特征值与特征向量:[V, D] = eig[A]