Least_mean Squares

3 views (last 30 days)
Jason Earls
Jason Earls on 27 Mar 2021
Commented: Star Strider on 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.

Answers (1)

Star Strider
Star Strider on 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 Comments
Jason Earls
Jason Earls on 30 Mar 2021
yes because I dont know if i am writing out the above equation correctly
Star Strider
Star Strider on 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.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!