Smoothing by Least Square Technique !!!
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Serhat
am 21 Mai 2014
Beantwortet: Star Strider
am 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 :)
0 Kommentare
Akzeptierte Antwort
Star Strider
am 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!
0 Kommentare
Weitere Antworten (1)
Image Analyst
am 21 Mai 2014
See my attached demo for polyfit.
2 Kommentare
Image Analyst
am 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)
Siehe auch
Kategorien
Mehr zu Smoothing finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!