matlab求矩阵中某一个值的个数怎么写?
别用几重循环的,这是matlab,不是C,最好能用到matlab自带的函数,比如find什么的,纯矩阵运算更佳...
别用几重循环的,这是matlab,不是C,最好能用到matlab自带的函数,比如find什么的,纯矩阵运算更佳
展开
3个回答
展开全部
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)
示例:
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
我找找有没专门的函数哎,没找到。。。就这两个方法吧,,,
n=length(find(A==a))%A是矩阵,a是查找的值,个数为n
或者
n=length(A(A==a))%A是矩阵,a是查找的值,个数为n
我找找有没专门的函数哎,没找到。。。就这两个方法吧,,,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询