首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Matlab和Python中的Size函数

Matlab和Python中的Size函数
EN

Stack Overflow用户
提问于 2018-07-18 02:32:08
回答 1查看 9.7K关注 0票数 1

我正在尝试将这段MATLAB代码翻译成Python。代码如下:

代码语言:javascript
复制
function snr_est = estimate_snr(R,r_m,x)

         [L N]=size(R);           % L number of bands (channels)
                                  % N number of pixels (Lines x Columns) 
         [p N]=size(x);           % p number of endmembers (reduced dimension)

         P_y = sum(R(:).^2)/N;
         P_x = sum(x(:).^2)/N + r_m'*r_m;
         snr_est = 10*log10( (P_x - p/L*P_y)/(P_y- P_x) );

return;

我的问题与大小方法有关。对于MATLAB代码中大小的用法,MATLAB说“当A是一个矩阵时,它返回行数和列数”。我想用Python做同样的事情。我知道a.shape也返回数组的维数。那么,这些函数是否可以像MATLAB代码在此函数中要求的那样访问它们?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-18 04:24:23

MATLAB的size函数和numpy的shape属性都以相同的方式输出尺寸。

例如,如果A是MATLAB中名为3行4列深度为5的3D矩阵,则size(A)将返回[3, 4, 5]

类似地,在python中,如果我有一个具有相同维数的3Dnumpy数组BB.shape将返回(3, 4, 5)

在上面提供的示例中,R是一个维度为L x N的矩阵,x是一个大小为p x N的矩阵。假设传递给python函数的矩阵(二维numpy数组)是相同的(即R.shape=(L,N)x.shape=(p,N),MATLAB的size和numpy的shape的行为也是相同的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51388178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档