【Matlab】常用函数汇总(二)

Matlab 是矩阵实验室(Matrix Laboratory)的英文缩写,是用于科学与工程计算的工具。Matlab 提供了许多常用的数学函数,本文主要介绍 Matlab 与统计、排序、求和与乘积,以及随机数相关的函数。

目录

[1 统计函数](#1 统计函数)

[2 排序函数](#2 排序函数)

[3 求和与乘积](#3 求和与乘积)

[4 随机数](#4 随机数)


1 统计函数

在 Matlab 中,矩阵是数据的基本表现形式。Matlab 提供了一些统计函数,可以对矩阵进行数据分析。

|-----------|------------------------------------------|-----------------------------------------------------------------------------------|
| 函数 | 说明 | 示例 |
| max(x) | x 为矢量时,求 x 的最大值;x 为矩阵时,计算 x 各列的最大值 | x = [1, 5, 3]; max(x) ans = 5 |
| max(x, y) | x 和 y 具有相同的行和列,用 x 和 y 相同位置元素的最大值创建一个新矩阵 | x = [1, 5, 3; 2, 4, 6]; y = [10, 2, 4; 1, 8, 7]; max(x, y) ans = 10 5 4 2 8 7 |
| min(x) | x 为矢量时,求 x 的最小值;x 为矩阵时,计算 x 各列的最小值 | x = [1, 5, 3]; min(x) ans = 1 |
| min(x, y) | x 和 y 具有相同的行和列,用 x 和 y 相同位置元素的最小值创建一个新矩阵 | x = [1, 5, 3; 2, 4, 6]; y = [10, 2, 4; 1, 8, 7]; min(x, y) ans = 1 2 3 1 4 6 |
| std(x) | x 为矢量时,计算 x 的标准差;x 为矩阵时,计算 x 各列的标准差 | x = [1, 5, 3]; std(x) ans = 2 |
| var(x) | x 为矢量时,计算 x 的方差;x 为矩阵时,计算 x 各列的方差 | x = [1, 5, 3]; var(x) ans = 4 |

2 排序函数

Matlab 提供了 sort() 和 sortrows() 函数,默认按列进行升序排序。

|--------------------|-----------------------------------------|---------------------------------------------------------------------------|
| 函数 | 说明 | 示例 |
| sort(x) | x 为矢量时,对 x 进行升序排序; x 为矩阵时,对 x 的各列进行升序排序 | x = [1, 5, 3]; sort(x) ans = 1 3 5 |
| sort(x, 'descend') | x 为矢量时,对 x 进行降序排序; x 为矩阵时,对 x 的各列进行降序排序 | x = [1, 5, 3; 2, 4, 6]; sort(x, 'descend') ans = 2 5 6 1 4 3 |
| sortrows(x) | 依据矩阵 x 的第 1 列,对矩阵各行进行升序排序 | x = [3, 1, 2; 1, 9, 3; 4, 3, 6]; sortrows(x) ans = 1 9 3 3 1 2 4 3 6 |
| sortrows(x, n) | 依据矩阵 x 的第 n 列,对矩阵各行进行升序排序 | x = [3, 1, 2; 1, 9, 3; 4, 3, 6]; sortrows(x, 2) ans = 3 1 2 4 3 6 1 9 3 |

3 求和与乘积

Matlab 提供了矩阵元素求和与乘积的函数,例如 cumsum() 函数。cumsum() 函数不是简单地把每个元素相加,而是产生一个求中间和的数组。

|------------|-----------------------------------------|------------------------------------------|
| 函数 | 说明 | 示例 |
| sum(x) | x 为矢量时,计算 x 各元素之和; x 为矩阵时,计算 x 各列元素之和 | x = [1, 5, 3]; sum(x) ans = 9 |
| prod(x) | x 为矢量时,计算 x 各元素的乘积; x 为矩阵时,计算 x 各列元素的乘积 | x = [1, 5, 3]; prod(x) ans = 15 |
| cumsum(x) | x 为矢量时,计算 x 的累加和; x 为矩阵时,计算 x 各列元素的累加和 | x = [1, 5, 3]; cumsum(x) ans = 1 6 9 |
| cumprod(x) | x 为矢量时,计算 x 的累积; x 为矩阵时,计算 x 各列元素的累积 | x = [1, 5, 3]; cumprod(x) ans = 1 5 15 |

4 随机数

Matlab 可以生成两种不同的随机数,分别是均匀随机数和高斯随机数,在工程计算中用于模拟测量数据。

|-------------|-------------------------------------|---------------------------------------------------------------|
| 函数 | 说明 | 示例 |
| rand(n) | 产生一个 [0, 1) 之间的均匀随机数矩阵,矩阵大小 n x n | rand(2) ans = 0.9501 0.6068 0.2311 0.4860 |
| rand(m, n) | 产生一个 [0, 1) 之间的均匀随机数矩阵,矩阵大小 m x n | rand(3, 2) ans = 0.8913 0.0185 0.7621 0.8214 0.4565 0.4447 |
| randn(n) | 产生一个均值为 0,方差为 1 的高斯随机数矩阵,矩阵大小 n x n | randn(2) ans = -0.4326 0.1253 -1.6656 0.2877 |
| randn(m, n) | 产生一个均值为 0,方差为 1 的高斯随机数矩阵,矩阵大小 m x n | randn(3, 2) ans = -1.1465 -0.0376 1.1909 0.3273 1.1892 0.1746 |

相关推荐
秦少游在淮海19 分钟前
C++ - string 的使用 #auto #范围for #访问及遍历操作 #容量操作 #修改操作 #其他操作 #非成员函数
开发语言·c++·stl·string·范围for·auto·string 的使用
const54427 分钟前
cpp自学 day2(—>运算符)
开发语言·c++
心扬28 分钟前
python生成器
开发语言·python
阿蒙Amon34 分钟前
06. C#入门系列【自定义类型】:从青铜到王者的进阶之路
开发语言·c#
虾球xz38 分钟前
CppCon 2015 学习:CLANG/C2 for Windows
开发语言·c++·windows·学习
CodeWithMe1 小时前
【C/C++】namespace + macro混用场景
c语言·开发语言·c++
蓝婷儿1 小时前
6个月Python学习计划 Day 17 - 继承、多态与魔术方法
开发语言·python·学习
Mikhail_G2 小时前
Python应用变量与数据类型
大数据·运维·开发语言·python·数据分析
YuTaoShao2 小时前
Java八股文——集合「List篇」
java·开发语言·list
Bl_a_ck2 小时前
【JS进阶】ES6 实现继承的方式
开发语言·前端·javascript