linear fit in Log Scale + extension

2 views (last 30 days)
Hello, also this question might be trivial and frequently answered, but yet again I'm not able to grasp it. Long story short, that's what I got:
ind = f>=5000& f <= 10000
p = polyfit(f(ind),qU(ind),1);
t = polyval(p,(f(ind)));
plot(f(ind),t,'-r','Linewidth',3);
actually this looks like a straight line to me, even if I set:
set(gca,'XScale','log')
set(gca,'YScale','log')
However I want to extend this line, lets say to [5000 15000]. How can I finally achieve this? Thx in advance

Accepted Answer

David Hill
David Hill on 16 Jun 2020
Edited: David Hill on 16 Jun 2020
ind = f>=5000& f <= 10000
p = polyfit(f(ind),qU(ind),1);%you will always get a line if degree is 1
x=5000:15000;
t = polyval(p,x);
plot(x,t,'-r','Linewidth',3);
  3 Comments
Niklas Kurz
Niklas Kurz on 16 Jun 2020
Edited: Niklas Kurz on 16 Jun 2020
so in comparision: Linear scale with Lines
David Hill
David Hill on 17 Jun 2020
p1 = polyfit(f(1:2),qU(1:2),1);%however many points you want
p2 = polyfit(f(3:end),qU(3:end),1);%second line
x=5000:15000;
t1 = polyval(p1,x);
t2 = polyval(p2,x);
plot(x,t1,'-r',x,t2,'-g','Linewidth',3);

Sign in to comment.

More Answers (1)

Niklas Kurz
Niklas Kurz on 17 Jun 2020
Thank you for your effort, that is what I implemeted:
p1 = polyfit(f(1:2),qU(1:2),1);%however many points you want
x=5000:50000;
t1 = polyval(p1,x);
plot(x,t1,'-r','Linewidth',3);
p2 = polyfit(f(3:8),qU(3:8),1);%second line
x=15000:640000;
t2 = polyval(p2,x);
plot(x,t2,'-g','Linewidth',3);
However: that is what I receive: Sorry for bothering you still, but its not quite running well due to my lack of log-knowledge.
  1 Comment
Niklas Kurz
Niklas Kurz on 17 Jun 2020
Okay, I finally unravelled he solution, it proved to be a really tricky one:
p1 = polyfit(log(f(1:2)),log(qU(1:2)),1);%however many points you want
x=5000:50000;
t1 = polyval(p1,log(x));
hold on
loglog(x,exp(t1))
p2 = polyfit(log(f(3:8)),log(qU(3:8)),1);%however many points you want
x=5000:640000;
t2 = polyval(p2,log(x));
hold on
loglog(x,exp(t2))
I view you answere as correct bc your extension was really valuable. Many thanks.

Sign in to comment.

Categories

Find more on MATLAB in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!