How to linearly fit a semilog graph

9 vues (au cours des 30 derniers jours)
Sonia Goyal
Sonia Goyal le 19 Fév 2021
Commenté : Star Strider le 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

Réponses (2)

Jonas
Jonas le 19 Fév 2021
  1 commentaire
Sonia Goyal
Sonia Goyal le 26 Fév 2021
Thank you for your rresponse. But this isn't working for this data.

Connectez-vous pour commenter.


Star Strider
Star Strider le 26 Fév 2021
Try this:
D1 = readmatrix('Data.xlsx');
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;
instead, might be more accurate.
  4 commentaires
Sonia Goyal
Sonia Goyal le 4 Mar 2021
Thank you for you response.
Star Strider
Star Strider le 4 Mar 2021
My pleasure.

Connectez-vous pour commenter.

Tags

Produits


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by