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.

1 Kommentar

Jan
Jan am 24 Nov. 2018
Please do not post just "But both errors", but pos the complete error messages in the forum. It is easier to fix a problem than to guess, what the problem is.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

madhan ravi
madhan ravi am 24 Nov. 2018
Bearbeitet: madhan ravi am 24 Nov. 2018

1 Stimme

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

9 Kommentare

Oman Wisni
Oman Wisni am 24 Nov. 2018
Dear Mr.Ravi. I'm sorry. Because of my typo I forget one line code. Im trying your code but still error using bsxfun. Here I attached my full code :
D = 25 ;
K = 11;
h = 100;
reg = 0.01;
data = rand(1,220);
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_los = bsxfun(@plus, a,b);
loss = reg_los + data; % I adding my code
for i = 1:100;
fprintf('Iteration: %d \n' ,'loss :%f \n' , i,loss);
end
madhan ravi
madhan ravi am 25 Nov. 2018
Did you see Jan’s comment?
Oman Wisni
Oman Wisni am 25 Nov. 2018
Bearbeitet: Oman Wisni am 25 Nov. 2018
The error like below :
Error using bsxfun
Non-singleton dimensions of the two input arrays must match each other.
Error in Training (line 49)
reg_los = bsxfun(@plus, a,b);
.
madhan ravi
madhan ravi am 25 Nov. 2018
>> size(a)
ans =
25 100
>> size(b)
ans =
100 11
How can you add them?
Oman Wisni
Oman Wisni am 25 Nov. 2018
yes, but I got the formula like that? so what I do?
madhan ravi
madhan ravi am 25 Nov. 2018
Better ask your teacher
Oman Wisni
Oman Wisni am 25 Nov. 2018
Bearbeitet: Oman Wisni am 25 Nov. 2018
yes, I will ask my teacher.
one question again before I ask my teacher. here I have code Python like below
a = rand (220,11);
b = np.argmax(a, axis = 1);
print 'accuracy :%.2f', (np.mean(b))
what is argmax and mean in matlab, how I create code above to matlab? Thanks
madhan ravi
madhan ravi am 25 Nov. 2018
please use google before asking , type argmax matlab and mean matlab you will find the answer in the first link
Oman Wisni
Oman Wisni am 25 Nov. 2018
Bearbeitet: Oman Wisni am 25 Nov. 2018
already asking google, but I don't understand. Yes I will try ask again.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by