2017-03-22 8 views
0
% estimation of the jacobian sparse matrix 
u_iterator=0; 
s=eye(size(u),size(u)); 
for u_iterator=1:size(u) 
    if u(u_iterator) >1e-5 
     s(:,u_iterator)=1; 
    end 
end 

実際にこのコードを使用して、行列のnull以外の要素をすべて1に置き換え、要素がnullの場合はゼロにします。私の質問です:matlabの関数を使用してこれを行うには良い方法はありますか?行列のすべての非要素をMatlabの要素で置き換える最も良い方法は何ですか?

答えて

2

私はまたうまくいく、すなわち

s = u; 
s(s > 1e-5) = 1; 
もちろん

s(abs(s) > 1e-5) = 1; 

または

s(s ~= 0) = 1; 

をMATLABの論理的なインデックス機能を使用します。

+0

ありがとうございます@Andreas H. –

+0

または 's =ダブル(論理) ' –

+0

@ルイスメンド。 True、同じ精神で書くこともできます。 's = double(u〜= 0)' –

関連する問題