Linear Regression on log log plots
12 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Rookshana Trollope
am 12 Feb. 2015
Bearbeitet: dpb
am 29 Nov. 2017
Hello – I would like to plot seismic data with a y range from 10 -7 to 10-1 (m*s) and an x range from 1 to 10 000 (Hz) on a log log plot. Than I would like to do a linear regression on this but basic fit gives a line not reflective of the data. Could you please advise what is the best technique to use ?
Any help will be much appreciated.
0 Kommentare
Akzeptierte Antwort
dpb
am 12 Feb. 2015
Bearbeitet: dpb
am 29 Nov. 2017
X=log10(x); Y=log10(y); % convert both variables to log's
b=polyfit(X,Y,1); % estimate coefficients
yhat=10.^[polyval(b,[X(1) X(end)])]; % evaluate at end points
loglog(x,y)
hold on
loglog([x(1) x(end)],yhat) % add fitted line
7 Kommentare
dpb
am 13 Feb. 2015
Note the message at the bottom -- "Continue entering statement"
It's waiting for something but I can't tell what--the paren's look to be balanced unless my old eyes are missing one.
Try another CR or two; if that doesn't finish the line then Ctrl-C out back to the command prompt and try again...either there's something in the commandline processor that's hidden or the graphics engine in a newer release has gotten hung up or somesuch; with a 2-length vector it would take only a few seconds at most.
Thomas Schragl
am 29 Nov. 2017
when trying the code noted above I found that there is one ] missing in line 3
right now:
yhat=10.^[polyval(b,[X(1) X(end)]);
and should be:
yhat=10.^[polyval(b,[X(1) X(end)])];
note the ] before the ;
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Data Logging 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!
