学习目标: 了解matlab基础操作

赋值

a = 1
a = 2

注释

% a = 1
多行注释,快捷键Ctrl + R
取消注释,快捷键Ctrl + T

清除工作区所有变量

clear

清屏

clc

输出和输入函数

disp函数

disp('你好世界')
a = [1, 2, 3]
disp(a)

input函数

a = input('请输入考试分数')

判断语句

a = input('请输入考试分数:')
if a >= 85
disp("成绩合格")
elseif a >= 60
disp("成绩合格")
else
disp("成绩挂科")
end

字符串

合并字符串

% 方法一:stract
strcat('字符串1', '字符串2');
% 方法二:[str1, str2, 、、、strn]或[str1 str2 、、、 strn]
['字符串1', '字符串2']
['字符串1' '字符串2']

转化字符串

c = 100
num2str(c)
disp(['c的取值为' num2str(c)])
disp(stract('c的取值为', num2str(c)))

sum求和函数

% 如果是向量(无论是行向量还是列向量),都是直接求和
E = [1, 2, 3]
sum(E)
E = [1; 2; 3]
sum(E)
% 如果是矩阵,则需要指明是按行还是按列求和
E = [1, 2; 3, 4; 5, 6]
a = sum(E) %默认按列求和
a = sum(E, 1) % 按列求和(得到一个行向量)
a = sum(E, 2) % 按行求和(得到一个列向量)

% 对整个矩阵求和的操作
sum(sum(E))
sum(E(:)) %E(:)将矩阵拼成一列

矩阵的查询

% 取指定行和列的一个元素(输出的是一个值)
A = [1 2 5; 1/2 1 2; 1/5 1/2 1];
A(2, 1)
A(3, 2)
% 取指定的某一行的全部元素(返回的是一个行向量)
A(1, :)
A(2, :)
% 取指定某一列的全部元素(返回的是一个列向量)
A(:, 1)
A(:, 3)
% 取指定某些行的全部元素(返回的是一个矩阵)
A([1, 3], :) %只取第一行和第三行
A(1: 3, :) %取第一行到第三行
A(1: 2: 3, :) %取第一行和第三行(从一开始,每次递增两个行,到3结束)
% 递增语法
1: 3: 10 %从一开始每次加三不超过10
10: -1: 1 %从十开始每次减一不小于1
A(1:end,:) %取第一行到最后一行
A(1:end-1, :) %取第一行到倒数第二行
% 取全部元素(按列拼接的,最终输出的是一个列向量)
A(:)

size函数

A = [1, 2, 3; 4, 5, 6]
B = [1, 2, 3; 4, 5, 6]
size(A)
size(B)
% size(A)函数是用来求矩阵A的大小的,它返回一个行向量,第一个元素是矩阵的行数,第二个元素是矩阵的列数
[r, c] = size(A)
% 指定返回行数或列数
r = size(A, 1)
c = size(A, 2)

repmat函数

% B = repmat(A, m, n):将矩阵A赋值m*n块,即把A作为B的元素,B由m*n个A平铺而成。
% 就是先创建一个m*n的矩阵,然后把A作为元素填充进去
A = [1, 2, 3; 4, 5, 6]
B = repmat(A, 2, 1)
B = repmat(A, 3, 2)

矩阵的运算

% MATLAB在矩阵的运算中,"*"号和"/"号代表矩阵之间的乘法与除法(A/B = A*inv(B))
A = [1, 2; 3, 4]
B = [1, 0; 1, 1]
A * B
inv(B) %求B的逆矩阵
B * inv(B)
A * inv(B)
A / B %相当于A*inv(B)
% 两个形状相同的矩阵对应元素之间的乘除法需要使用".*"和"./"
A = [1, 2; 3, 4]
B = [1, 0; 1, 1]
A .* B
A ./ B
% 每个元素同时乘或除相同的倍数
A = [1, 2; 3, 4]
A * 2
A .* 2
A / 2
A ./ 2
% 每个元素同时乘法时只能用
A = [1, 2; 3, 4]
A .^ 2 %将各个元素平方
A ^ 2 %相当于A*A
% 求特征值和特征向量
A = [1,2 3; 2, 2, 1; 2, 0, 3]
% 求矩阵A的全部特征值,返回一个由特征值构成的向量
E = eig(A)
% 求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量。(V的每一列都是D中与之相同列的特征值的特征向量)
[V, D]=eig(A)

帮助文档

https://ww2.mathworks.cn/help/stateflow/matlab-functions.html