• 【Matlab】数据统计分析


    数据统计分析

    max函数与min函数

    max(X):返回向量X中的最大值

    max(A):返回矩阵A各列最大值构成的向量

    max(A,B):返回矩阵A与矩阵B对应位置的最大值构成的矩阵,A与B为同型矩阵

    max(A, number):返回矩阵A的每个位置元素与数字number取最大值后构成的与A同型的矩阵,A与number的位置可颠倒

    了解即可:max(A, X):返回一个矩阵,矩阵与A同型,此矩阵每个位置的元素为矩阵A对应位置的元素与向量X对应列中的元素中的较大者,A与X的位置可颠倒

    max(A, [], dim):当dim为1时,该调用方式与max(A)一致;当dim为2时,返回列向量,第i个元素是A的第i行的最大值;特殊地,max(A, [], 2)等价于max(A’)’


    当max函数的参数只涉及到一个矩阵(或向量或数值)时,返回值可以有两个[y, k],其中y表示上面说的最大值结果矩阵(或向量或数值),k为最大值在A中对应的位置(求最大值的维度不同,可能是行号或列号)

    注意区分max(A, [], 2)和max(A, 2)!!!

    min函数与max函数用法一致,取最小值。

    A = [1 2 3; 
         4 5 6];
    
    B = [6 5 4;
         3 2 1];
    
    C = [0 4 8];
    
    D = 9;
    
    [y k] = max(A)
    %% y =
    %%     4     5     6 % 第1列中的最大值为4,第2列中的最大值为5,第3列中的最大值为6
    %% k =
    %%     2     2     2 % 第1列中的两个数第2行的大,第2列中的两个数第2行的大,第3列中的两个数第2行的大
    
    [y k] = max(C)
    %% y =
    %%     8 % 最大值为8
    %% k =
    %%     3 % 最大值取自第3个
    
    [y k] = max(A, [], 1) % 与max(A)一致
    
    [y k] = max(A, [], 2)
    %% y =
    %%     3 % 第1行的最大值为3
    %%     6 % 第2行的最大值为6
    %% k =
    %%     3 % 第1行的最大值取自第1行第3列
    %%     3 % 第2行的最大值取自第2行第3列
    
    max(A, B)
    %% ans =
    %%     6     5     4
    %%     4     5     6 % 对应位置取最大值
    
    max(A, C)
    %% ans =
    %%     1     4     8
    %%     4     5     8 % 对应列取最大值
    
    max(A, D)
    %% ans =
    %%     9     9     9
    %%     9     9     9 % 每个元素都与数字进行取最大值操作
    
    max(A, [], 1) == max(A) % 二者等价
    %% ans =
    %%  1×3 logical 数组
    %%   1   1   1
    max(A, [], 2) == max(A')' % 二者等价
    %% ans =
    %%  2×1 logical 数组
    %%   1
    %%   1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56

    特殊用法:[y k] = max(A(😃):求整个矩阵的最大值。

    此用法的本质是利用的矩阵索引操作,将A化为列向量后作为max函数的参数,因此返回的k也是化为列向量后的行坐标。

    类似的操作还可以有,max(A( : , 1))、max(A(2 : end, 3))、……

    下同,不再赘述。

    mean函数与median函数

    mean(A, dim):dim默认为1,表示对每一列求算术平均值,dim为2表示对每一行求算术平均值。

    mean(X):对向量X求算术平均值。

    mean(A(😃):求全部数的算术平均数。

    median函数与mean函数用法一致,求中位数,所求中位数的集合元素个数为偶数个时对于中间的两个元素求平均值作为中位数,这与我们所学的中位数定义一致。

    sum函数与prod函数

    与mean函数用法一致,sum函数用于求和,prod函数用于求乘积。

    cumsum函数与cumprod函数

    与mean函数用法一致,cumsum函数用于求累加和,cumprod函数用于求累乘积。

    以“累加和”为例讲解什么是“累加和”和“累乘积”,一个向量X=[1 2 3 4 5],对其求前缀和得[1 3 6 10 15],这就是累加和。累乘积同理,即前缀积。

    因此,这两个函数求出的向量(或矩阵)与原向量(或矩阵)同型。

    std函数与corrcoef函数

    样本标准差: S 1 = 1 N − 1 ∑ i = 1 N ( x i − x ˉ ) 2 S_1=\sqrt{\frac{1}{N-1} \sum_{i=1}^{N}(x_i-\bar{x})^2} S1=N11i=1N(xixˉ)2

    总体标准差: S 2 = 1 N ∑ i = 1 N ( x i − x ˉ ) 2 S_2=\sqrt{\frac{1}{N} \sum_{i=1}^{N}(x_i-\bar{x})^2} S2=N1i=1N(xixˉ)2

    ( 1 ) std(X):计算向量X的标准差。

    ( 2 ) std(A):计算矩阵A的各列的标准差。

    ( 3 ) std(A flag,dim):flag取0或1,当flag=0时,按 S 1 S_1 S1所列公式计算样本标准差;当flag=1时,按 S 2 S_2 S2列公式计算总体标准差。默认情况下,flag=0,dim=1。

    线性的才可以尝试求相关系数,否则相关系数无意义。

    ( 1 ) corrcoef(A):求列向量的相关系数,返回由矩阵A所形成的一个相关系数矩阵,其中,第i行第j列的元素表示原矩阵A中第i列和第j列的相关系数。

    ( 2 ) corrcoef(X,Y):在这里X、Y是向量,可以是行向量也可以是列向量,它们与corrcoef( [X, Y] )的作用一样,但后者必须为列向量,用于求X、Y向量之间的相关系数。

    sort函数

    [x y] = sort(X, mode):对向量X进行升序排序,x为排序后的结果,y为对应位置的数在原向量中的位置;mode默认为’ascend’,可选值’ascend’和’descend’。

    [x y] = sort(A, dim, mode):对矩阵A的每一列进行升序排序,x、y、mode同上;dim为1表示按列,2表示按行。

  • 相关阅读:
    在单片机中什么是FLASH
    深入探究Java内存模型
    “过度炒作”的大模型巨亏,Copilot每月收10刀,倒赔20刀
    异地多活架构新突破:库存单元化部署技术思路揭秘
    进大厂必备的Java八股文大全(2022最强精简易懂版,八股文中的八股文)备战秋招,赶快转发收藏起来吧~
    (四)、传热学-热传导问题的数值解法
    了解抖音小程序的评级。为什么我的抖音小程序申请不了某个功能?
    Kafka(三)- Kafka 命令行操作
    现货白银应该遵守哪些规则?
    string的接口测试与使用
  • 原文地址:https://blog.csdn.net/weixin_46221946/article/details/125243645