MATLAB: Error using bsxfun?

bsxfunerro

Hi, I want to display the results of the calculations that I made, I want to add two values with different matrix sizes, I use 2 ways by adding regular (+) and using bsxfun. But both errors. have code like below :
D = 25 ;
K = 11;
h = 100;
reg = 0.01;
iteration=1000;
w1 = 0.01*randn(D,h);
w2 = 0.01*randn(h,K);
a = 0.5.*reg.*(W1.*W1);
b = 0.5.*reg.*(W2.*W2);
reg_los1 = a+b;
reg_los = bsxfun(@plus, a,b);
for i = 1:100;
fprintf('Iteration: %d \n' , i);
end
If there are another way to fix, I hope someone can improve my code, thank you.

Best Answer

Try :
D = 25 ;
K = 11;
h = 100;
reg = 0.01;
iteration=1000; % i can't see this being used anywhere?
w1 = 0.01*randn(D,h);
w2 = 0.01*randn(h,K);
a = 0.5.*reg.*(w1.*w1); % -> matlab is case sensitive
b = 0.5.*reg.*(w2.*w2);
reg_los1 = a+b; %remove this line because im not sure this will work in previous versions
reg_los = bsxfun(@plus, a,b);
for i = 1:100;
fprintf('Iteration: %d \n' , i);
end