Matlab

CGC Lv4

常用函数

三角函数

1
2
3
4
5
6
7
8
9
10
11
12
sin % 正弦函数
cos % 余弦
tan % 正切
sinh % 双曲正弦
cosh % 双曲余弦
tanh % 双曲正切
asin % 反正弦
acos % 反余弦
atan % 反正切
asinh % 反双曲正弦
acosh % 反双曲余弦
atanh % 反双曲正切

指数与对数函数

1
2
3
4
exp % 指数
log % e为底的对数
log10 % lg
sqrt % 平方根

与复数有关的函数

1
2
3
4
5
abs % 模
angle % 幅角
conj % 复共轭
imag % 虚部
real % 实部

舍入函数与其他数值函数

1
2
3
4
5
fix % 向0舍入
floor % 向负无穷舍入
ceil % 向正无穷舍入
round % 四舍五入
rem(a, b) % 计算a/b余数

有关向量的函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
min(x) % 向量x的元素最小值
max(x) % 向量x的元素最大值
mean(x) % 向量x的元素平均值
median(x) % 向量x的元素中位数
std(x) % 向量x的元素标准差
diff(x) % 向量x的相邻元素差
sort(x) % 对向量x进行排序
length(x) % 向量x的元素个数
norm(x) % 向量x的Euclidean长度
sum(x) % 向量x的元素和
prod(x) % 向量x的元素连乘积
cunsum(x) % 向量x的累计元素总和
dot(x) % 向量x的内积
cross(x) % 向量x的外积
cumprod(x) % 向量x的累计元素总乘积

关于矩阵

矩阵的表示

1
A = [1, 2, 2; 2, 4, 2; 5, 3, 1]

矩阵转置

使用'来表示

1
B = A'

矩阵加减

+,-

矩阵乘法

*

求行列式

det(A)

矩阵求逆

inv(A)

“除法”

AX = b
可用X = A \ b求解
同时X = A \ b可用于解矛盾方程组

矩阵特征值

eig(A)

函数作图

二维平面曲线作图

1
plot(x, y, s) % x、y为长度相同的向量,s表示线型及颜色

若作多曲线在同一图上,则用函数

1
plot(x1, x2, s1, x2, y2, s2,.., xn, yn, sn)

取某一区间为
x = 0:0.1:2*pi 表示取[0, 2Π] 间隔为0.1

多窗口作图

将屏幕分为多个窗口分别作图

1
subplot(m, n, k) % 将窗口分为m*n个,当前图在第k个

直方图作图

1
2
3
4
5
6
7
count = hist(x) % 将向量x中的元素放入等距10条形中,且返回每个条形中的元素个数
count = hist(x, center) % 参量x为向量,将x中元素放到m(m = length(center))个由center中元素指定的位置为中心的直方图中
count = hist(x, number) % 参量number为标量,用于指定条形数目

[count, center] = hist(x) % 返回向量x中包含频率计数的count与条形的位置向量center,可以用
bar(center, count) % 对center, count画出条形直方图 条之间有间隔
hist(x) % 直接对传入的x进行作图

x = normrnd(10, 5, 1000, 1) 表示传入均值为10 标准差为5的正态分布曲线 产生一千行一列的数据

二维图形注释

grid
功能:给图形坐标面增加分割线 但会对当前坐标轴的属性有影响

1
2
3
4
grid on % 给当前坐标轴增加分隔线
grid off % 从当前坐标轴去掉分隔线
grid % 转换分割线的显示与否状态
grid(axes_handle, on|off) % 对指定坐标轴axes_handle更改显示分割线状态

空间曲线作图

三维曲线作图

1
plot3(x, y, z, s) % x、y、z为长度相同的向量,s表示线型及颜色

如 做空间螺旋线

1
2
3
4
5
t = 0:0.01:8*pi;
x = cos(t);
y = sin(t);
z = t;
plot3(x, y, z, 'r');

三维曲面作图

1
2
mesh(x, y, z) % 生成由x, y, z指定的网线面
surf(x, y, z) % 在矩形区域内显示三维带阴影曲面图

1
2
3
4
5
6
7
8
9
10
11
12
13
% 作z = cosx.*siny曲面图
[x, y] = meshgrid(-3:0.1:3, -4:0.1:4);
z = cos(x) .* sin(y);

mesh(x, y, z); % 网线面
xlabel('x');
ylabel('y');
zlabel('z');

surf(x, y, z) % 带阴影曲面图
xlabel('x');
ylabel('y');
zlabel('z');

基本语句

for

1
2
3
for x = a:d:b % a为起始点 b为终止点 d为区间间隔
(command) % 循环体
end

1
2
3
4
5
% 求100以内奇数相加和
for i 1:2:99
s = s + i;
end
s % 输出结果

while

1
2
3
while expression
(command)
end

if-else-end

1
2
3
4
5
6
7
if expression
(command)
elseif expression
(command)
else
(command)
end

脚本文件与函数文件

函数文件开头需为例如

1
function z = fun(x)

以方便脚本文件调用
在命令窗口输入例如

1
2
x = [1, 2]
z = fun(x)

即可调用

状态转移模型

  • Title: Matlab
  • Author: CGC
  • Created at: 2023-03-14 21:26:05
  • Updated at: 2023-04-09 10:57:16
  • Link: https://redefine.ohevan.com/2023/03/14/Matlab/
  • License: This work is licensed under CC BY-NC-SA 4.0.