matlab求矩阵中某一个值的个数有三种方法:
1、例如当A=ceil(rand(100,100)*10);
a=5; 第一种方法为输入: sum(A(:)==a);
2、第二种方法为输入: length(find(A==a)。
3、第三种方法为输入: logical=(A=a)。
4、最后以sum(logical(:))结尾即可完成代码的编写。
扩展资料:
Matlab矩阵运算规则:
1、加减运算规则:对应元素相加、减,即按线性代数中矩阵的“十”,“一”运算进行。
例 >>A=[1, 1, 1; 1, 2, 3; 1, 3, 6]
>>B=[8, 1, 6; 3, 5, 7; 4, 9, 2]
>>A+B=A+B
>>A-B=A-B
2、乘法运算规则:按线性代数中矩阵乘法运算进行,即放在前面的矩阵的各行元素,分别与放在后面的矩阵的各列元素对应相乘并相加。
例 >>X= [2 3 4 5;
1 2 2 1];
>>Y=[0 1 1;
1 1 0;
0 0 1;
1 0 0];
Z=X*Y
3、矩阵转置运算规则:若矩阵A的元素为实数,则与线性代数中矩阵的转置相同。若A为复数矩阵,则A转置后的元素由A对应元素的共轭复数构成。若仅希望转置,则用如下命令:A.′。
设矩阵为A,要找的数值为a,直接sum(A(:)==a)即可。
示例:
A=ceil(rand(100,100)*10);
a=5;
sum(A(:)==a)
不知道有没专门的函数,既然你提到了find
n=length(find(A==a))%A是矩阵,a是查找的值,个数为n
或者
n=length(A(A==a))%A是矩阵,a是查找的值,个数为n
我找找有没专门的函数哎,没找到。。。就这两个方法吧,,,