在MATLAB中,如何找出矩陣的非零元素。並且輸出它所在的行

時間 2021-07-21 03:42:39

1樓:匿名使用者

r =1 2 3 1 21 0 0 0 44 0 5 0 61 1 1 1 05 0 8 6 0>> b=r~=0

b =1 1 1 1 11 0 0 0 11 0 1 0 11 1 1 1 01 0 1 1 0從矩陣思考,按這樣寫。再幹什麼的話,不行你就for吧。巢狀一個for,搞定。

>> for i=1:5

for j=1:5

if b(i,j)==1

r(i,j)%這裡寫你需要做的事情,

endendend

2樓:匿名使用者

find(r~=0)可以輸出按照一列一列來找的第多少個不是0你自己對結果做一些處理就可以輸出所在的行和列(比如說對find的結果除以5,所得到的商即為所在的列,餘數即為所在的行)

matlab如何找到矩陣中零元素的位置?急!!!!!!!!!!!

3樓:匿名使用者

舉個例子!

b=[1 2 3 4 5 0 0 0 0 0];

v=find(b~=0)%返回b中非零元素%v = 1 2 3 4 5[row,col]=find(b~=0)%返回矩陣內b中非零元素對應的

容行和列

%row =1 1 1 1 1%col = 1 2 3 4 5

4樓:匿名使用者

首先你的跑完之後,b的17列後不是為零,只是很小的數,你可以if一下讓它為零

直接用find函式

比方ans=find(b==0);

ans就是b=0的下標了

在matlab裡面如何在一個矩陣中找出值為零的行和列。 50

5樓:楊好巨蟹座

[row, col] = find( r ~= 0 ); % row,col是所有非零元

素的橫座標和縱座標

num = size(row, 1); % 有多少個非回零元素

for i = 1:num

r(row(i), col(i)) = 1; % 非零元素置一

答end

6樓:劉復民

可以考慮用find函式

7樓:

這個問題看著就頭大,就跟我的割集演算法一樣,愁啊。

matlab求問找出矩陣A中與矩陣B每元素最接近的值

你需要給t1賦值 的t1應該是一個1 50的向量 matlab 陣列中查詢最接近元素 function y zhidao nearest a,b asort,index sort abs a b y a index 1 呼叫時 zhidao nearest 1 2 3 2.6 同意wacs5的方法。...

matlab矩陣求平均值,在matlab中 怎麼計算平均值

1111我我我 用mean a,1 或者mean a,2 函式求矩陣a均值,再用cumsum函式可以累加。具體 如下 a rand 3 a mean a,1 按列平均 b mean a,2 按行平均 c mean a 全部平均 a 0.8134 0.8940 0.28760.7185 0.9507 ...

在matlab中,如何在已知矩陣中取隨機兩個數並交換??微急,求大神拯救

思路就比較簡單 隨機產生兩個數,取值範圍為 1,矩陣的列數 m,n隨機產生兩個數,取值範圍為 1,矩陣的行數 q,p剩下的就是利用下標交換咯。t x m,q x n,p x m,q x m,q t完成 酷呆愛死呆 a rand 3,3 a 0.7784 0.7750 0.14820.3654 0.5...