Matlab数组与矩阵

数组与矩阵常见操作

该来的,你是逃不掉的。早学晚不学!


1. 数组的创建与操作

clear all
% 创建数组示例
A = [ ]
B = [6, 5, 3, 2, 1]
C = [6 5 3 2 1]
D = [6; 3; 4; 3; 2; 1]
E = B'                      %B的转置

% 访问数组示例
b1 = B(1)                 %访问数组的第一个元素
b2 = B(1:3)              %访问数组第1、2、3个元素
b3 = B(3:end)          %访问数组第3个到最后一个元素
b4 = B(end: -1:1)     %数组元素反序输出
b5 = B([1 5])            %访问数组第1和第5元素

% 对一子数组赋值
A = [1 2 3 3 2 1]
A(3) = 0
A1(3) = 0
A2([1 4]) = [1 1]

% 用冒号创建一维数组
% x = a:b
% x = a:inc:b          inc默认为1
A = 3:6
B = 3.1:1.5:6
C = 3.1:-1.5:-6
D = 3.1:-1.5:6

% 用logspace()函数创建一维数组
format short;
A = logspace(1,4,20)
B = logspace(1,4,10)

% 用linspace()函数创建一维数组
format short;
A = linspace(1,100)
B = linspace(1,24,12)
C = linspace(1,24,1)

2. 常见的数组运算

clear all
% 数组加减法
A = [1 7 6 8 7 6]
B = [1 2 3 4 5 6]
C = [1 1 1 1 1 1]
D = A+B 
E = A-B
F = A*2
H = A-C

% 数组乘法示例
C = A.* B               %数组的点乘
D = A * 3               %数组与常数的乘法

% 数组的除法
C = A ./ B              %数组和数组的左除
D = A .\ B              %数组和数组的右除
E = A ./ 3               %数组与常数的除法
F = A/3

% 数组乘方
C = A .^ B              %数组的乘方
D = A .^ 3              %数组的某个具体数值的乘方
E =3 .^ A                %常数的数组的乘方

% 数组点积
C = dot(A,B)            %数组的点积
D = sum(A .* B)       %数组元素的乘积之和

% 数组的关系运算
A = [1 5 7 8 9 7]
B = [9 5 7 2 4 0]
C = A<7                 %数组与常数比较,小于
D = A>=7               %数组与常数比较,大于等于
E = A < B                %数组与常数比较,小于
F = A==B                %恒等于

3. 矩阵的表示

clear all

% 两种直接输入的方法来创建矩阵
C = [1 3 4; 34 5 2; 3 5 6]
D = [23 4 5;
    74 34 5;
    34 5 4]

% 读取数据文件trees
load trees                  %读取二进制数据文件
image(X)                    %以图像的形式显示数组X
colormap(map)          %设置颜色查找表为map

% 利用MATLAB内置函数来创建矩阵
Z1 = zeros(5,4)           %产生5*4全为0的矩阵
Z2 = ones(5,4)            %产生5*4全为1的矩阵
Z3 = eye(5,4)              %产生5*4的单位矩阵
Z4 = rand(5,4)            %产生5*4的在(0,1)区间均匀分布的随机阵
Z5 = randn(5,4)          %产生5*4的均值为0,方差为1的标准正态分布随机矩阵
Z6 = hilb(3)                %产生3维的Hilbert阵
Z7 = magic(3)             %产生3阶的魔方阵

4. 矩阵的拼接

clear all
% 3阶魔术矩阵和3阶单位矩阵
% 水平拼接和垂直拼接
c = magic(3)                    %3阶魔术矩阵
d = eye(3)                        %3阶单位矩阵
E = [c,d]                           %水平方向上拼接
F = [c;d]                           %垂直方向上拼接

% 利用函数cat在不同方向连接矩阵
A1 = [1 2; 3 4]
A2 = [5 6; 7 8]
C1 = cat(1,A1,A2)             %垂直拼接
C2 = cat(2,A1,A2)             %水平拼接
C3 = cat(3,A1,A2)             %三维数组

5. MATLAB矩阵寻访

clear all
% 利用上下标来寻访矩阵元素
a = [1 2 3; 4 5 6; 7 8 9]
a(1,1)
a(2,2)
a(3,3)

% 对矩阵M进行多元素寻访
M = randn(4)
M(1,:)                      %访问第1行所有元素
M(1:3,:)                   %访问第1-3行所有元素
M(:,2)                      %访问第2列所有元素
M(:)                         %访问所有元素

6. MATLAB矩阵的运算

clear all
% 对矩阵A和B进行加减运算
A = [5 4 6; 3 5 6; 7 4 2]
B = [2 3 6; 4 6 3; 3 6 7]
C = A+B
D = A-B

% 矩阵的相乘
E = A * B

% 矩阵除法
A = [5 4 6; 8 9 7; 3 6 4]
B = [9; 1; 7]
C = A\B

% 矩阵乘方运算
A = [5 3 5; 5 1 2; 5 4 6]
B = A ^ 2
C = A ^ 3

猜你喜欢

转载自blog.csdn.net/missxy_/article/details/78907157