How to find the intersection of a fitting line with a logarithmic y-axis?

4 views (last 30 days)
I have a vector A = [10 40 60 80]
and a vecor B = [5 6 7 8]
I need to create a plot where the x-axis is B and the y-axis is A in the logarithmic scale. Then I need to find the intersection of the fitting line of the scatter with the y-axis.
I used semilogy(B,A) but that only gives me the line and I need to find the intersection.

Answers (1)

Kevin Holly
Kevin Holly on 2 Oct 2021
A= [10 40 60 80];
B = [5 6 7 8];
scatter(B,A,20,'filled')
set(gca,'YScale','log')
% Polyfit
p = polyfit(B,A,2);% 2nd order
f1 = polyval(p,B);
hold on
plot(B,f1,'r--') % poly fit as red dashed line
semilogy(B,A,'g') %log fit as green line
myfit = fittype('a + b*log(x)',...
'dependent',{'y'},'independent',{'x'},...
'coefficients',{'a','b'});
[model stats] = fit(B',A',myfit)
Warning: Start point not provided, choosing random start point.
model =
General model: model(x) = a + b*log(x) Coefficients (with 95% confidence bounds): a = -226.1 (-265.5, -186.7) b = 147.4 (126.2, 168.5)
stats = struct with fields:
sse: 5.9358 rsquare: 0.9978 dfe: 2 adjrsquare: 0.9967 rmse: 1.7228
plot(B,model(B),'b') % log fit as blue line
I am not quite sure how to calculate the intersection, but found this:

Categories

Find more on Descriptive Statistics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!