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}

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

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をコピーしました