how to solve matrix?

1 回表示 (過去 30 日間)
Ali Mukhtar
Ali Mukhtar 2019 年 9 月 19 日
コメント済み: Guillaume 2019 年 9 月 21 日
if i have matrix M=[1 0 1; 0 0 1; 1 1 1] and T=5 apply a condition on this matrix
if nnz(M)>= T perform task
and make elseif nnz(M)< T should not leave this condition until i make all elements in nnz(M) matrix ==0 but im not able to hold in this condition

回答 (1 件)

Fabio Freschi
Fabio Freschi 2019 年 9 月 19 日
If I understand correctly if nnz(M)< T the matrix is the null matrix
M = [1 0 1; 0 0 1; 1 1 1];
T = 5;
if nnz(M)>= T
fprintf('My task\n')
else % not necessary: elseif nnz(M)< T
M(M ~= 0) = 0;
end
  11 件のコメント
Walter Roberson
Walter Roberson 2019 年 9 月 21 日
w == 0.99
There might not be any locations in w that are bit-wise identical to the internal representation of 0.99, as 1/10 is not exactly representable in binary floating point, so 0.99 is not exactly representable. There is also round-off difficulties during calculations. You should rarely compare floating point numbers exactly to a literal number that is not an integer (and a good deal of the time, you should not compare exactly to an integer either.)
Guillaume
Guillaume 2019 年 9 月 21 日
Yes, I have purposefully ignored NaNs, empty and vectors in my statement above as the OP is clearly a beginner and nnz cannot return these.

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

カテゴリ

Help Center および File ExchangeSparse Matrices についてさらに検索

Translated by