1function [w1]=optwmc(zWin,n,w,mcAdapt,mu,order,beta,y)
2
3
4 if isempty(mcAdapt)
5 normvec = sum(zWin.^2);
6 normvec(normvec<1e-10) = 1e-10;
7 normmat = ones(order,1)*normvec;
8 w = beta*w + mu*y(n)*zWin ./ normmat;
9 else
10 amcInds = find(mcAdapt(n,:));
11 normvec = sum(zWin(:, amcInds).^2);
12 normvec(normvec<1e-10) = 1e-10;
13 normmat = ones(order,1)*normvec;
14 w(:,amcInds) = beta*w(:,amcInds) + ...
15 mu*y(n)*zWin(:,amcInds) ./ normmat;
16 end
17 w1=w;
18end