matlab 如何统计矩阵中大于、小于或等于某一值的位置、个数

您所在的位置:网站首页 matlab统计数据为NANcell的个数 matlab 如何统计矩阵中大于、小于或等于某一值的位置、个数

matlab 如何统计矩阵中大于、小于或等于某一值的位置、个数

2024-02-08 06:54| 来源: 网络整理| 查看: 265

善用 find() 和 sum() 函数!

假设存在如下矩阵 a :

>> a = [1,2,3;4,5,6;7,8,9]

a =

     1     2     3      4     5     6      7     8     9

1:找到矩阵中大于i 的位置,输入find(a>i)即可。注意,matlab是以列的方式读取,依次读取第一列、第二列...,所以下标第二个值是第一列第二个值4,而不是第一行第二个值2

如:获取矩阵a中大于3 的位置

>> find(a>3)

ans =

     2         3      5      6      8      9 得到的是位置,对应的分别是4,7,5,8,6,9,要想得到在矩阵中所在的位置(此意为另一种显示方式),所在位置用1代替,其它设为0----目的:1一目了然,2便于统计(sum函数)个数。

 x = zeros(size(a))

x =

     0     0     0      0     0     0      0     0     0

>> x(find(a>3))=1

x =

     0     0     0      1     1     1      1     1     1

在矩阵中对应值为1的即为矩阵a对应大于3的位置!

2,用length()计算,统计大于 i 的个数。

如,统计a中大于6的个数

>> length(a>6)

ans =

     3

3、用length()、find()获得矩阵中每一行某一列,大于某一个数的个数

如,统计矩阵中第三行大于5的个数

>> length(find(a(:,3)>5))

ans =

     2

以上的行、列可根据你的矩阵大小或需求,更改对应数字即可,所求是否为小于、等于抑或小于等于,大于等于,直接替换对应的运算符(>)即可!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3