Matrix multiplication in a for-loop
22 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Ammar G.
am 5 Feb. 2020
Beantwortet: JESUS DAVID ARIZA ROYETH
am 5 Feb. 2020
I'm currently trying to transform this expression:
k = 1:m;
t1 = sum((theta(1) + theta(2) .* X(k,2)) - y(k));
t2 = sum(((theta(1) + theta(2) .* X(k,2)) - y(k)) .* X(k,2));
theta(1) = theta(1) - (alpha/m) * (t1);
theta(2) = theta(2) - (alpha/m) * (t2);
into a for loop expression, so that it will work for longer theta vectors. So far I came up with this:
for j=1,length(theta)
t = sum(((X * theta)- y) .* X(:,j));
theta(j) = theta(j) - (alpha/m) * t;
end
But the values for theta(2) are not updated. What am I doing wrong?
0 Kommentare
Akzeptierte Antwort
JESUS DAVID ARIZA ROYETH
am 5 Feb. 2020
you have 1,length(theta), change it by 1:length(theta) :
for j=1:length(theta)
t = sum(((X * theta)- y) .* X(:,j));
theta(j) = theta(j) - (alpha/m) * t;
end
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Polynomials finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!