本节归纳 MATLAB 常用的数学函数与描述性统计函数:绝对值、幂与对数、三角函数、取整,以及均值、方差、极值与排序等。下列示例按用途分组,便于对照调用方式。
基础数学函数
abs(-5) % 绝对值 5
sqrt(16) % 平方根 4
exp(1) % e 的 1 次方
log(exp(1)) % 自然对数(以 e 为底)
log10(100) % 常用对数 2
rem(10, 3) % 余数 1
mod(10, 3) % 模 1rem 和 mod 在负数时符号规则不同:rem 结果符号和第一个数相同,mod 和第二个数相同。正数场景两者一致。
三角与指数
sin(pi/2) % 1,注意用弧度
cos(0) % 1
tan(pi/4) % ~1
asin(1) % 反正弦
power(2, 10) % 2 的 10 次方 1024三角函数自变量默认为弧度;若将角度数值直接传入而未换算,将得到错误结果。
四舍五入相关
round(3.5) % 4 四舍五入
floor(3.7) % 3 向下取整
ceil(3.2) % 4 向上取整
fix(-3.7) % -3 向零取整统计分析
data = [78 92 85 63 88];
mean(data) % 平均值 81.2
median(data) % 中位数 85
std(data) % 标准差
var(data) % 方差
min(data) % 最小值
max(data) % 最大值
sum(data) % 总和
cumsum(data) % 累加序列
diff(data) % 相邻差分
sort(data) % 排序这些函数对矩阵默认沿列计算。想沿行算,加第二个参数 2。
完整分析小例子
scores = [78 92 85; 63 70 88; 90 81 79; 45 60 72];
class_avg = mean(scores) % 每科平均(沿列)
student_avg = mean(scores, 2) % 每人平均(沿行)
max_score = max(scores, [], 'all') % 全班最高分
above60 = sum(scores > 60, 'all') % 及格次数max(scores, [], 'all') 里的 [] 是占位(按列时这里填 1),'all' 表示对整个数组求一个值。漏掉空的 [] 会报错。
注意事项
- 三角函数单位是弧度:
sin(30)不是 sin 30°,而是 sin 30 弧度。 min/max对矩阵默认返回每列结果,要整体最值用'all'。std默认是样本标准差(除以 n-1),要总体标准差时加第三个参数 1。
本节说明了初等数学函数、矩阵按列/按行统计的区别,以及 max 配合 'all' 的用法。下一节介绍数值求解:fzero、roots、integral 与线性方程组 A\b。