Difference Between Plots in Idl

I'm working with two plots of density as a function of distance on IDL. What I'd like to do with them is convert them into plots of distance as a function of density and plot their difference, in order to obtain the shift in distance as a function of density. The issue I'm having is that one of the equations for density as a function of distance is non invertible. Any idea on what I could do to overcome this problem? Thanks in advance. Here are the tewo plots that I'm trying to invert and take the difference of.

lowe = ALOG10(10.)
  uppe = ALOG10(170.)
  re = DINDGEN(100)*(uppe - lowe)/(100 - 1L) + lowe
  r = 10^(re)

  loweB = ALOG10(10.)
  uppeB = ALOG10(170.)
  reB = DINDGEN(100)*(uppeB - loweB)/(100 - 1L) + loweB
  rB = 10^(reB)

pl = plot(r,density_r(r), /XLOG, /YLOG)
plB = plot(r,freq_ratB(r), /OVERPLOT, /XLOG, /YLOG)  

end

FUNCTION density_r, r
  
  return, 4.8e9/r^14 + 3e8/r^6 + 1.4e6/r^2.3
END

 FUNCTION freq_ratB, r
  
  return, 10.*(r/215.)^(-2.8)
END

1 Answer

It is easy to plot distance as a function of density — just change the order of the arguments to plot, i.e.:

p_r = plot(density_r(r), r, /xlog, /ylog)
plB_r = plot(freq_ratB(r), r, /overplot, /xlog, /ylot)

But to subtract the two plots, the x-coordinates of your difference plot must be the same for the two operands of the difference. You can write an equation to invert one of your functions:

; intvert freq_ratB
function r_freq_ratB, density
  compile_opt strictarr

  return, 215.0 * exp((alog(density) - log(10.0)) / (-2.8))
end

So then you can plot the difference:

p_difference = plot(density, r - r_freq_ratB(density))

If you couldn't invert one of your functions, e.g., you were plotting observational data, then you would have to interpolate.

1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Marcus Vance

Marcus Vance

Cybersecurity & Digital Privacy Researcher

Marcus Vance is a cybersecurity auditor and technology writer dedicated to educating the public about online safety, data privacy regulations, enterprise security, and emerging cyber threats.

Share this article
Twitter Facebook Pinterest