# How to linearly fit a semilog graph

43 views (last 30 days)
Sonia Goyal on 19 Feb 2021
Commented: Star Strider on 4 Mar 2021
Hello
I have my data file which is attached below. I have to plot this as semilog ( log scale on Y-axis) and have to linearly fit like the image attached. Please help me with the same

Jonas on 19 Feb 2021
Sonia Goyal on 26 Feb 2021
Thank you for your rresponse. But this isn't working for this data.

Star Strider on 26 Feb 2021
Try this:
x = D1(:,1);
y = D1(:,2);
[ymax,idx] = max(y);
idxrng = idx:numel(y);
objfcn = @(b,x,minlim) b(1).*exp(b(2).*x) + minlim;
B = fminsearch(@(b) norm(y(idxrng) - objfcn(b,x(idxrng),y(end))), [ymax; rand]);
figure
plot(x, y)
hold on
plot(x(idxrng), objfcn(B,x(idxrng),y(end)), '-r', 'LineWidth',1.5)
hold off
grid
set(gca, 'YScale','log')
It’s not easy to fit those data.
Using:
idxrng = 1:numel(y);
objfcn = @(b,x,minlim) b(1).*x.*exp(b(2).*x) + minlim;
Star Strider on 4 Mar 2021
My pleasure.

R2018b

### Community Treasure Hunt

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

Start Hunting!