视频课程:https://www.bilibili.com/video/BV13D4y1Q7RS?p=3&spm_id_from=pageDriver
一、矩阵构造与操作
%1.矩阵的定义与构造
A=[1 2 3 4 5 6] %定义一个矩阵
B = 1:3:9 % 1-9以3为步长
C = repmat(B,3,1) %B重复3行1列
D = ones(2,4) %2行4列的1
E = twos(3,5) % 错误,没有twos
F = 2*ones(4,5) %正确表达
运行结果:
A =
1 2 3 4 5 6
B =
1 4 7
C =
1 4 7
1 4 7
1 4 7
D =
1 1 1 1
1 1 1 1
>> E = twos(3,5) % 错误,没有twos
F = 2*ones(4,5) %正确表达
未定义函数或变量 'twos'。
F =
2 2 2 2 2
2 2 2 2 2
2 2 2 2 2
2 2 2 2 2
二、矩阵的四则运算
矩阵四则运算
A = [1 2 3 4;5 6 7 8]
B = [1 1 2 2;2 2 1 1]
C = A + B %矩阵对应项相加
D = A - B %矩阵对应项相减
E = A * B'%矩阵A与矩阵B的转置相乘
F = A .* B % 矩阵A与B的对应项相乘
G = A / B % 矩阵没有除法,相当于A* B的逆。矩阵 G*B=A G*B*pinv(B) =A* pinv(B) G=A*pinv(B),相当于a乘b pinv伪逆矩阵
H = A ./ B % 对应项相除 5除以2等于2.5
结果:
A =
1 2 3 4
5 6 7 8
B =
1 1 2 2
2 2 1 1
C =
2 3 5 6
7 8 8 9
D =
0 1 1 2
3 4 6 7
E =
17 13
41 37
F =
1 2 6 8
10 12 7 8
G =
1.8333 -0.1667
3.1667 1.1667
H =
1.0000 2.0000 1.5000 2.0000
2.5000 3.0000 7.0000 8.0000
三、矩阵的下标
find函数的应用find函数详细用法看这里
A = magic(5)% 定义一个5阶幻方矩阵 注意:MATLAB下标从1开始的
B = A(2,3) %取出幻方里面的第2行第3列这个数
C = A(4,:) %取出第3列的所有数,冒号代表取出所有
D = A(:,4) %取出第3行的所有数,冒号代表取出所有
[m,n] = find(A>20) %取出A数组里面的大于20的数的索引,就是下标。运行出来m=2,对应n=1就是23的索引
结果:
ans =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
B =
7
C =
10 12 19 21 3
D =
8
14
20
21
2
m =
2
1
5
4
3
n =
1
2
3
4
5
四、程序结构
●if …else… end
for … end
●while …end
●switch
…case
…end
%求1-100之间的奇数之和
%用while...end
sum2 = 0
n = 1
while n < 6
sum2 = sum2 + n
n = n + 2
end
输出:
sum2 =
2500
n =
101