Linear Regression on log log plots
조회 수: 29 (최근 30일)
이전 댓글 표시
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
채택된 답변
dpb
2015년 2월 12일
편집: dpb
2017년 11월 29일
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
dpb
2015년 2월 13일
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
2017년 11월 29일
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 ;
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Linear and Nonlinear Regression에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!