Loading web-font TeX/Math/Italic

MATLABでL0ノルムを求める

L0ノルムの定義

\begin{align} L_0=\sum_{i=1}^n\delta(x_i),\quad \delta(x_i)= \begin{cases} 1\hspace{5mm} (x_i \neq 0)\\ 0\hspace{5mm} (x_i=0) \end{cases} \end{align}

に従い計算するだけ。以下コード。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
v=[1,3,5,0,1,-8,0];
 
L0=L0norm(v);
 
L0
 
function result=L0norm(v)
result=0;
for i=1:1:length(v)
    if v(1,i)~=0
        result=result+1;
    end
end
end

コメント

タイトルとURLをコピーしました