Effacer les filtres
Effacer les filtres

Smoothing by Least Square Technique !!!

1 vue (au cours des 30 derniers jours)
Serhat
Serhat le 21 Mai 2014
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 :)

Réponse acceptée

Star Strider
Star Strider le 21 Mai 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!

Plus de réponses (1)

Image Analyst
Image Analyst le 21 Mai 2014
See my attached demo for polyfit.
  2 commentaires
Serhat
Serhat le 21 Mai 2014
In your code, you give constant values for slope,intercept etc.
But, we dont have these values. We want to find the polynomial coeffcients which best fits the our original data. We just have the data vectors.
Thanks
Image Analyst
Image Analyst le 21 Mai 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)

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by