Azzera filtri
Azzera filtri

Smoothing by Least Square Technique !!!

1 visualizzazione (ultimi 30 giorni)
Serhat
Serhat il 21 Mag 2014
Risposto: Star Strider il 21 Mag 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 :)

Risposta accettata

Star Strider
Star Strider il 21 Mag 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!

Più risposte (1)

Image Analyst
Image Analyst il 21 Mag 2014
See my attached demo for polyfit.
  2 Commenti
Serhat
Serhat il 21 Mag 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 il 21 Mag 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)

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by