matlab如何统计矩阵中大于或小于某数的元素个数?
6个回答
展开全部
方法一:先求出矩阵中所有大于或小于某数的元素,再求个数。
实例:A是2*2的随机矩阵,求大于0.5的元素个数。
方法二:运用sum函数,代码为sum(sum(A>a));
解释:1. A>a
将数组A的每个元素都和a比较,大于a返回1,否则为0。结果得到了一个和A结构一致且元素为0或1的二维数组。显然该矩阵1的个数就是满足大于a的元素的个数,那么只要将矩阵所有元素相加就得到了该行大于a的元素的个数。
2. sum(sum(X))
sum(sum(X))可以求X矩阵中所有元素的和。
拓展说明:
sum函数用法:
a=sum(x);%以矩阵x的每一列为对象,对一列内的数字求和
a=sum(x,2);%以矩阵x的每一行为对象,对一行内的数字求和
a=sum(x(:));%对矩阵x所有元素求和
展开全部
在matlab中,可以通过sum函数和条件表达式来统计矩阵中大于或小于某数的元素的个数。
具体实现方法可以参考如下程序段:
A=
[1, 2, 3, 4, 5;
2, 3, 4, 5, 6;
3, 4, 5, 6, 7];
a = sum(A>4); % 统计矩阵A中值大于4的元素的个数
% A>4表示判断矩阵A中每个元素的值是否大于4的,若大于4,则返回1,;否则返回0。
% 所以A>4执行后返回的就是一个只有0和1的向量,此时对该向量进行求和,也就是统计1的个数,即矩阵A中大于4的元素的个数。
具体实现方法可以参考如下程序段:
A=
[1, 2, 3, 4, 5;
2, 3, 4, 5, 6;
3, 4, 5, 6, 7];
a = sum(A>4); % 统计矩阵A中值大于4的元素的个数
% A>4表示判断矩阵A中每个元素的值是否大于4的,若大于4,则返回1,;否则返回0。
% 所以A>4执行后返回的就是一个只有0和1的向量,此时对该向量进行求和,也就是统计1的个数,即矩阵A中大于4的元素的个数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最简方法:设二维矩阵A,求A中大于常数b的元素个数:
sum(sum(A>b))
sum(sum(A>b))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A=.....;
[m,n]=size(A);
xx=..
yy=..
for i=1:m*n
if A(i)<xx
t1=t1+1;
end
if A(i)>yy
t2=t2+1;
end
end
disp(['小于',num2str(xx),'的个数=',num2str(t1)]);
...
[m,n]=size(A);
xx=..
yy=..
for i=1:m*n
if A(i)<xx
t1=t1+1;
end
if A(i)>yy
t2=t2+1;
end
end
disp(['小于',num2str(xx),'的个数=',num2str(t1)]);
...
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A = [2 3 6 8 6 4 5 9 12 3 6];
x = 6;
y = 5;
indx = find(A > x);
numx = length(indx);
indy = find(A < y);
numy = length(indy);
disp(['大于',num2str(x),'的个数=',num2str(numx)]);
disp(['小于',num2str(y),'的个数=',num2str(numy)]);
x = 6;
y = 5;
indx = find(A > x);
numx = length(indx);
indy = find(A < y);
numy = length(indy);
disp(['大于',num2str(x),'的个数=',num2str(numx)]);
disp(['小于',num2str(y),'的个数=',num2str(numy)]);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询