matlab 如何统计矩阵中大于、小于或等于某一值的位置、个数 |
您所在的位置:网站首页 › matlab统计数据为NANcell的个数 › matlab 如何统计矩阵中大于、小于或等于某一值的位置、个数 |
善用 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 |