目录
一、数组
1.数组的创建:
行数组:即n个元素排成一行,又称为行向量;列数组:即m个元素排成一列,又称为列向量。
(1)用方括号创建:
用方括号[]创建一维数组就是将整个数组元素依次放在[]中,其中行数组的各元素之间用空格或者逗号分隔开;列数组的各元素之间用分号分隔开。例如:
clc;clear;close all;
A=[1 2 3 4 5 6] %创建一个行数组
B=[1;2;3;4;5;6] %创建一个列数组
A =
1 2 3 4 5 6
B =
1
2
3
4
5
6
(2)用冒号创建:
A=m:n
B=m:inc:n
其中,m是数组的第一个元素,但是b不一定是数组的最后一个元素,上面第一种情况下默认inc=1.
clc;clear;close all;
A=1:6 %创建一个从1到6的数组
B=1:0.3:6 %创建一个从1开始,中间间隔为0.3,最后一个元素小于6的数组
A =
1 2 3 4 5 6
B =
列 1 至 15
1.0000 1.3000 1.6000 1.9000 2.2000 2.5000 2.8000 3.1000 3.4000 3.7000 4.0000 4.3000 4.6000 4.9000 5.2000
列 16 至 17
5.5000 5.8000
(3) 用函数创建:
①使用linspace()函数创建:
A=linspace(m,n):创建行向量A,第一个元素为m,最后一个元素为n,形成长度为100的等差数组。
A=linspace(m,n,t):创建行向量A,第一个元素为m,最后一个元素为n,形成长度为t的等差数组。
如果想创建一个列向量,可以使用转置的方法,先创建一个行向量,再将其转置为列向量。
clc;clear;close all;
A=linspace(1,4,4)
B=A'
A =
1 2 3 4
B =
1
2
3
4
②使用logspace()函数创建:
A=logspace(m,n):创建一个行向量A,第一个元素为10^m,最后一个元素为10^n,形成长度为100的等比数组。
A=logspace(m,n,t):创建一个行向量A,第一个元素为10^m,最后一个元素为10^n,形成长度为t的等比数组。
clc;clear;close all;
A=logspace(1,4,4)
A =
10 100 1000 10000
2.数组的算术运算:
两个一维数组进行运算的前提是:
①两个数组都为行数组(或都为列数组)。
②数组元素个数相同。
数组运算中的加法和减法,太简单了,我就不说了,就说说乘除和幂运算吧!
(1)数组乘法:
数组与数组之间的乘法就是将两个数组元素之间的数之间依次相乘,再形成一个新的数组。
clc;clear;close all;
A=[1 4 8 7 9]
B=[2 3 4 6 0]
C=A.*B %数组与数组之间要用点乘
D=A*2 %数组与常数之间的乘法
A =
1 4 8 7 9
B =
2 3 4 6 0
C =
2 12 32 42 0
D =
2 8 16 14 18
(2)数组除法:
数组与数组之间的除法分为左除和右除,这里可以凭字面意思进行理解。
clc;clear;close all;
A=[1 4 8 7 9]
B=[2 3 4 6 0]
C=A./B %数组与数组之间要用点除,这里是左除
D=A.\B %右除
E=A/2 %数组与常数之间的除法
A =
1 4 8 7 9
B =
2 3 4 6 0
C =
0.5000 1.3333 2.0000 1.1667 Inf
D =
2.0000 0.7500 0.5000 0.8571 0
E =
0.5000 2.0000 4.0000 3.5000 4.5000
(3)数组幂运算:
clc;clear;close all;
A=[1 4 8 7 9]
B=[2 3 4 6 0]
C=A.^B %数组的幂运算必须要用.^
D=A.^3
E=3.^A
A =
1 4 8 7 9
B =
2 3 4 6 0
C =
1 64 4096 117649 1
D =
1 64 512 343 729
E =
3 81 6561 2187 19683
二、矩阵:
1.矩阵的创建:
(1)用方括号创建:
使用方括号创建矩阵需要注意以下几点:
①矩阵元素必须都在[]以内;
②矩阵的同行元素之间用空格或者逗号隔开;
③矩阵的行与行之间用分号(“;”)隔开。
clc;clear;close all;
A=[1 4 8;2 5 7;7 0 1]
A =
1 4 8
2 5 7
7 0 1
(2)用函数创建:
clc;clear;close all;
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) %产生三维的Hilbert阵
Z7=magic(3) %产生三阶的魔方阵
Z1 =
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
Z2 =
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
Z3 =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
0 0 0 0
Z4 =
0.4898 0.2760 0.4984 0.7513
0.4456 0.6797 0.9597 0.2551
0.6463 0.6551 0.3404 0.5060
0.7094 0.1626 0.5853 0.6991
0.7547 0.1190 0.2238 0.8909
Z5 =
1.5442 2.3505 -0.7648 -0.1961
0.0859 -0.6156 -1.4023 1.4193
-1.4916 0.7481 -1.4224 0.2916
-0.7423 -0.1924 0.4882 0.1978
-1.0616 0.8886 -0.1774 1.5877
Z6 =
1.0000 0.5000 0.3333
0.5000 0.3333 0.2500
0.3333 0.2500 0.2000
Z7 =
8 1 6
3 5 7
4 9 2
2.矩阵的算术运算:
(1)矩阵乘法:
矩阵的乘法想必大家应该都在线性代数里面学过,这里我就不做过多解释了。
clc;clear;close all;
A=[5 7 6;1 9 7;9 6 4]
B=[9 4 3 1;7 9 4 2;7 4 0 3]
C=A*B
A =
5 7 6
1 9 7
9 6 4
B =
9 4 3 1
7 9 4 2
7 4 0 3
C =
136 107 43 37
121 113 39 40
151 106 51 33
(2)矩阵除法:
矩阵除法运算:"\"和"/"分别表示左除和右除。A\B表示A矩阵的逆矩阵左乘于B矩阵,而A/B表示A矩阵的逆矩阵右乘于B矩阵。一般A\B≠A/B。
clc;clear;close all;
A=[9 8 7;6 5 4;3 2 1]
B=[9;1;7]
C=A.\B
D=A./B
A =
9 8 7
6 5 4
3 2 1
B =
9
1
7
C =
1.0000 1.1250 1.2857
0.1667 0.2000 0.2500
2.3333 3.5000 7.0000
D =
1.0000 0.8889 0.7778
6.0000 5.0000 4.0000
0.4286 0.2857 0.1429
(3)矩阵的乘方:
矩阵的乘方运算,矩阵必须为方阵。
clc;clear;close all;
A=[9 8 7;6 5 4;3 2 1]
B=A^2
A =
9 8 7
6 5 4
3 2 1
B =
150 126 102
96 81 66
42 36 30