在MATLAB中,如何找出矩阵的非零元素。并且输出它所在的行和列。只要非零就为真。输出1。。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在MATLAB中,如何找出矩阵的非零元素。并且输出它所在的行和列。只要非零就为真。输出1。。相关的知识,希望对你有一定的参考价值。

如果能够这样输出更好,R(1,1)=1,R(1,5)=1,要是不能,也可以找出它所在的行和列就可以了
矩阵R=[1 2 3 1 2
1 0 0 0 4
4 0 5 0 6
1 1 1 1 0
5 0 8 6 0];

find(R~=0)可以输出按照一列一列来找的第多少个不是0你自己对结果做一些处理就可以输出所在的行和列(比如说对find的结果除以5,所得到的商即为所在的列,余数即为所在的行) 参考技术A R =

1 2 3 1 2
1 0 0 0 4
4 0 5 0 6
1 1 1 1 0
5 0 8 6 0

>> b=R~=0

b =

1 1 1 1 1
1 0 0 0 1
1 0 1 0 1
1 1 1 1 0
1 0 1 1 0

从矩阵思考,按这样写。再干什么的话,不行你就for吧。嵌套一个for,搞定。

>> for i=1:5
for j=1:5
if b(i,j)==1
R(i,j)%这里写你需要做的事情,
end
end
end

MATLAB中,如何统计非数的个数

参考技术A 矩阵NaN元素可用以下式子求得:
num=numel(find(isnan(a)));
因此非空数据个数:
numel(a)-numel(find(isnan(a)))
>> a
a =
1 6
2 7
3 NaN
4 NaN
5 10
>> numel(a)-numel(find(isnan(a)))
ans =
8
>>
参考技术B a
data = find(a的判断逻辑)
number = length(data)

以上是关于在MATLAB中,如何找出矩阵的非零元素。并且输出它所在的行和列。只要非零就为真。输出1。。的主要内容,如果未能解决你的问题,请参考以下文章

如何找出一个矩阵中每一行的非零元素的位置和数值

matlab 如何找矩阵中的非零元素并替换

matlab 如何找矩阵中的非零元素并替换

matlab中如何求解齐次线性方程组(代数矩阵)的非零解

MATLAB中查找数组中的非零元素用啥函数

matlab中怎么查找一个数组中所有的非零元素的位置