Least_mean Squares

3 visualizzazioni (ultimi 30 giorni)
Jason Earls
Jason Earls il 27 Mar 2021
Commentato: Star Strider il 30 Mar 2021
I am trying to write the below function.
for(ct = 1:N )
sum_xy = sum_xy + x(ct)*y(ct) ;
sum_xx = sum_xx + x(ct)*x(ct) ;
sum_x= sum_x+x(ct)
sum_y = sum_y+y(ct)
end
% Compute best value of b
%b_tilde = sum_xy / sum_xx ;
b_tilde = (sum_xy - ((1/N)*sum_x*sum_y))/(sum_xx-((1/N)*sum_xx));
fprintf(1,'b_tilde is %1.10f \n',b_tilde) ;
I havent done a_tilde yet but i presume its (sum_y/N) - b_tilde*(sum_x/N)
any advice appreciated.

Risposte (1)

Star Strider
Star Strider il 27 Mar 2021
To make your code simpler and more efficient use the sum and mean functions. You can likely avoid the (explicit) loops.
Since you will likely need to do element-wise multiplication, also see Array vs.Matrix Operations.
  2 Commenti
Jason Earls
Jason Earls il 30 Mar 2021
yes because I dont know if i am writing out the above equation correctly
Star Strider
Star Strider il 30 Mar 2021
The way to test that is to produce some data with a known slope and intercept, and see if your code reproduces those parameters.
Meanwhile use the sum and mean functions to make your ocde easier to write and execute.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by