matlab中怎么求数组中非零元素的个数

如题所述

一行代码就能搞定。c=length(find(a~=0)),求非零个数,a为矩阵


矩阵非零个数

元胞数组非零个数

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-04

A =

1     2     0

0     1     1

1     3     0

>> B = (A~=0)      %%%% 比较是否为0

B =

1     1     0

0     1     1

1     1     0

>> result=sum(B(:))      %%%%% 不为0个数求和

result =

6

nonzeros(x) 是求非零元素,提取这些元素,并不适合个数统计

重要功能

    ·MATLAB®: MATLAB 语言的单元测试框架

    ·Trading Toolbox™: 一款用于访问价格并将订单发送到交易系统的新产品

    ·Financial Instruments Toolbox™: 赫尔-怀特、线性高斯和 LIBOR 市场模型的校准和 Monte Carlo 仿真

    ·Image Processing Toolbox™: 使用有效轮廓进行图像分割、对 10 个函数实现 C 代码生成,对 11 个函数使用 GPU 加速

    ·Image Acquisition Toolbox™: 提供了用于采集图像、深度图和框架数据的 Kinect® for Windows®传感器支持

    ·Statistics Toolbox™: 用于二进制分类的支持向量机 (SVM)、用于缺失数据的 PCA 算法和 Anderson-Darling 拟合优度检验

    MATLAB工作界面

    MATLAB工作界面

    ·Data Acquisition Toolbox™: 为 Digilent Analog Discovery Design Kit 提供了支持包

    ·Vehicle Network Toolbox™: 为访问 CAN 总线上的 ECU 提供 XCP

本回答被网友采纳
第2个回答  推荐于2017-11-23
A =
1 2 0
0 1 1
1 3 0
>> B = (A~=0) %%%% 比较是否为0
B =
1 1 0
0 1 1
1 1 0
>> result=sum(B(:)) %%%%% 不为0个数求和
result =
6

nonzeros(x) 是求非零元素,提取这些元素,并不适合个数统计本回答被提问者采纳
第3个回答  2020-06-18
更新一下,matlab自带函数nnz可以直接求解非零元素的个数
第4个回答  2017-08-08
应该是A =
1 2 0
0 1 1
1 3 0
>>A==zeros(3)
个数=9-sum(A)