How to explore off diagonal elements in matrices without avoiding the for loop?

I need to search if the value of off diagonal elements of many matrices are larger than a specific number. Was wondering if I can do that without using a loop.

1 件のコメント

James Tursa
James Tursa 2020 年 4 月 15 日
Square matrices? Just the nearest off-diagonals?

サインインしてコメントする。

回答 (2 件)

Peng Li
Peng Li 2020 年 4 月 15 日

0 投票

Not sure if many matrices share the same size. Anyway if you store these matrices in a cell you prob have a chance using cellfun to accomplish this I think. You can use triu or tril to get all off diagonal elements.
Vasilis Chasiotis
Vasilis Chasiotis 2020 年 10 月 8 日
編集済み: Vasilis Chasiotis 2020 年 10 月 8 日
A = randn(n,n); % a n-by-n matrix of random numbers
idx = eye(n,n); % the identity matrix of order n
if all( A(~idx) > K ) % check if all the off-diagonal elements of A are greater than K
...
end
So, you check all the off-diagonal elements of A without using a loop.

カテゴリ

ヘルプ センター および File ExchangeCreating and Concatenating Matrices についてさらに検索

タグ

質問済み:

2020 年 4 月 15 日

編集済み:

2020 年 10 月 8 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by