Least_mean Squares

3 次查看(过去 30 天)
Jason Earls
Jason Earls 2021-3-27
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.

回答(1 个)

Star Strider
Star Strider 2021-3-27
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 个评论
Jason Earls
Jason Earls 2021-3-30
yes because I dont know if i am writing out the above equation correctly
Star Strider
Star Strider 2021-3-30
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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by