【问题标题】:Base 2 matrix logarithm in MATLAB [duplicate]MATLAB中的以2为底的矩阵对数[重复]
【发布时间】:2020-01-18 20:26:01
【问题描述】:

我知道有 loglog2 的 MATLAB 函数,对于矩阵对数有 logm。但我想知道如何计算以 2 为底的矩阵对数?

【问题讨论】:

    标签: matlab matrix logarithm exponential natural-logarithm


    【解决方案1】:

    只是换个底数来转换对数的底,你可以使用logm,如下:

    log2m=logm(M) ./ log(2);
    

    【讨论】:

      【解决方案2】:

      对于标量 x

      log2(x) = log(x)/log(2)
      

      我看不出为什么这不适用于矩阵对数:logm(m)/log(2)

      例如,让我们从this example on Wikipedia中取出矩阵:

      issimilar = @(x,y) all( abs(x(:)-y(:)) < 1e-14 );
      
      m = [1.25, 0.75; 0.75, 1.25];
      
      issimilar( exp(1)^logm(m), m ) % returns true
      issimilar( 2^(logm(m)/log(2)), m ) % also returns true
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-02-13
        • 1970-01-01
        • 2011-10-27
        • 1970-01-01
        • 1970-01-01
        • 2015-05-15
        • 2018-02-14
        相关资源
        最近更新 更多