0%

Matlab基本运算

算术运算

加法

乘法

除法

左除

右除法

非奇异性矩阵是什么意思

点运算

关系运算

注意不等于的关系运算符是~=

成立返回1,不成立返回0

逻辑运算

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
% 总结:Matlab的运算都是在矩阵意义下进行的,单个数据的算术运算只是矩阵运算的一种特例
% 加减运算 :
% 矩阵之间:
A = [1,2,3;4:6]
B = [7:9;100:102]
B - A
% 矩阵和标量之间
c = 100;
B - c

% 乘法运算就只能在矩阵之间了,而且要求A的列数与B的行数相等,此时称A、B矩阵是可乘的,或称A和B两矩阵维数和大小相容:
C = [1:3;4:6];
D = [11,20;12,21]
D * C % 特别注意,两矩阵相乘,A*B不等于就是B*A。要想成功计算,一定保证是A的列数与B的行数相等。是不能交换的。

% 除法运算??在Matlab中,有两种不同的矩阵除法运算,一个是右除,一个是左除
% 书上说如果A矩阵是非奇异方阵,则B/A等效于B*inv(A),A/B等效于inv(A)*B.而这两种不同的计算方法的计算结果是不一样的。
% 但是对于两个标量来说,左除和右除的效果是一样的。

% 乘方运算:一个矩阵的乘方运算可以表示成A ^x,要求:A为方阵,x为标量

% 点运算
% 两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵同型。
E = A;
F = A.* E

% 关系运算
% 当两个比较量是标量时,直接比较两个数字的大小,关系成立,表达式的结果为1,否则为0
% 当两个是同型的矩阵时,比较是对两矩阵相同位置的元素按标量关系运算规则逐个进行,最终结果是一个只有1和0的同型矩阵
% 当一个是标量,另一个是矩阵时,则把标量与矩阵中的每一个元素按标量规则进行比较,同样结果是一个只含有0和1的同型矩阵
A1 = [1,2,3;4:6];
A2 = [0:2;21:23];
A3 = (A1< A2)% 结果:[0 0 0;1 1 1]
A4 = (A2>0) % 结果:[0 1 1;1 1 1]

% 逻辑运算
% &| ~
% & :两个非零才为1
% |:一个非零则为1
% 若参与逻辑运算的是两个同型矩阵,那么将对矩阵相同位置上的元素按标量规则逐个进行运算,结果是包含0、1的同型矩阵
% 若参与逻辑运算的是一个标量和一个矩阵,则把标量与矩阵中的每一个元素按标量规则进行比较,同样结果是一个只含有0和1的同型矩阵

% 实例: 水仙花数

m = [100:999]; % 生成所有三位正整数
m1 = rem(m,10); % 个
m2 = rem(fix(m/10),10);% 十
m3 = fix(m/100); % 百
j = find(m == m1.^3+m2.^3+m3.^3);% 是水仙花数的序号
i = find(~(m == m1.^3+m2.^3+m3.^3)); % 不是水仙花数的序号
% 然后分别传递给矩阵m
result = m(j)
result1 = m(i)