Smoothing by Least Square Technique !!!
1 view (last 30 days)
Show older comments
Hi all,
We are trying to find coefficients ' a 's for a given 200x1 t and 200x1 r(t)
r(t) = [ 1530 1215 3243 1111 ..... ]' size: 200 x 1
t = [0:0.5:99.5] size: 200 x 1
N=200
Thanks :)
0 Comments
Accepted Answer
Star Strider
on 21 May 2014
Interesting problem. The system is essentially this matrix equation:
r = A*[t^n]
where r, t and n are defined by necessity as column vectors and A is the matrix of coefficients. This is the inverse of the usual least-squares problem:
t = 0:0.5:99.5; % Define ‘t’
n = 0:length(t)-1; % Define ‘n’
tn = t.^n; % Define ‘t^n’
r = [1530 1215 3243 1111]'; % Given ‘r’ vector
stn = tn(1:length(r))'; % Truncate length of ‘tv’ to match sample ‘r’
stn(1) = eps; % Replace zero with ‘eps’ in ‘stv’
stni = pinv(stn); % Take pseudo-inverse of ‘t^n’
A = r*stni % Calculate ‘A’ coefficient matrix
rt = A*stn % Verify ‘A’ calculation
At least for the data available, this works!
0 Comments
More Answers (1)
Image Analyst
on 21 May 2014
See my attached demo for polyfit.
2 Comments
Image Analyst
on 21 May 2014
I did not give constants for them. I computed all the coefficients (slope and intercept). Look again, specifically for these lines where I calculate them:
% Do the regression with polyfit
linearCoefficients = polyfit(x, y, 1)
See Also
Categories
Find more on Smoothing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!