Line plot on top of a log log plot

I have a loglog plot of data in MATLAB and I am trying to overlay a linear fit. The linear data fitting tool doesn't work, so I was hoping to simply plot another line of slope -11/3. This line should be linear in a loglog plot, but I am having trouble plotting. Can anyone help? New to MATLAB so any advice would be useful. I have attached a picture of the plot I keep getting. The blue line is the loglog data plot, and the orange line is MATLAB's "linear fit" when using the basic plotting tool.

 采纳的回答

Hello Cameron, If you have a linear fit in the logs,
log(y) = (-11/3)log(x) + A
then exponentiate both sides:
y = x^(-11/3) exp(A)
and with C = exp(A), the fitting line (linear on loglog plot) is
y = C*x.^(-11/3)
where you just have to provide C. C could come from the same theory that gives the -(11/3), in which case you have a fit with no adjustable parameters, nice if it works. Or you could calculate C by using one (x,y) data point, or you could fit A from the first equation by taking the difference between log(y) and (-11/3)*log(x), and averaging that difference over all the values to get A. Then C = exp(A).
If you prefer log base 10, then replace log by log10 and C = exp(A) by C = 10^A everywhere.

6 个评论

Thank you for your response, that definitely helped with creating the line, however I am still having problems plotting them on the same graph. When I plot this line, it erases the last plot of all the data. Any thoughts on how to plot both at once?
You could do independent plot commands with 'hold on' active like Walter has mentioned, or you could do
y1 = C*x.^(-11/3);
loglog(x,y,x,y1) [corrected per Walter's comment]
Well, loglog(x,y,x,y1)
thank you! I used the hold on method and it worked perfectly! Appreciate the help!

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Annotations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by