![]() |
有类似于count这样的命令吗?
有一X矩阵,其中有些是0,我想计算每列(或行)非零数值的个数,其它软件有一简单的count命令,我刚才试找了一下,未能找到这一简单的命令。虽然有其它的办法能实现,但我想利用最简单(最少用时)的方式实现,不知有哪位知晓?请告知。谢谢!
|
回复: 有类似于count这样的命令吗?
可以用下面的命令行:
设column表示矩阵X的某一特定列,则该列的0的个数N=sum(sign(find(x(:,column)==0)));同理,矩阵某一行中0的个数表示为N=sum(sign(find(x(row,:)==0))); |
回复: 有类似于count这样的命令吗?
谢谢2楼对该问题的思考与回复,但用find命令只能单列(行)进行,不太现实,且也过于复杂,不如sum(X~=0)等更为简单。
|
回复: 有类似于count这样的命令吗?
我看你是要找每行或每列非零个数(不好意思,上面回复时看成是求矩阵中零的个数了),所以按行或列单独查找,如果要找矩阵中所有的非零数就变成了这样:N=sum(sign(find(x~=0)));
直接使用sum(x~=0)获得非零数的个数值只有在矩阵仅包含0和1的时候才成立; |
回复: 有类似于count这样的命令吗?
>> x=fix(randn(6,5)*5)
x = -6 -3 0 1 -9 0 1 4 -3 5 3 -4 2 -3 4 1 -6 1 5 0 5 4 6 -8 0 5 0 4 0 -12 >> sum(x~=0) ans = 5 5 5 5 4 >> sum(x==0) ans = 1 1 1 1 2 >> |
回复: 有类似于count这样的命令吗?
果然!!
说实在的,我从来没这么用过,受教了!! |
所有时间均为北京时间。现在的时间是 11:10。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.