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

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

目录

1 统计函数

2 排序函数

3 求和与乘积

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

你可能感兴趣的:(【Matlab,笔记】,matlab,开发语言)