Solving for log function

3 views (last 30 days)
Isaac
Isaac on 1 Feb 2011
Hi all,
I'm new to MATLAB and need help in solving for a in the following equation:
ln(1/R_1)^a - ln(1/R_2)^a = 0
My script already calculates for R_1 and R_2; I just need a, and I need to do it without taking the log of a log. Any help would be appreciated!

Answers (2)

Matt Fig
Matt Fig on 1 Feb 2011
Use the FZERO function. What values do you have for R_1 and R_2?
F = @(a) log(1/R_1).^a - log(1/R_2).^a
rt = fzero(F,.1);

Walter Roberson
Walter Roberson on 1 Feb 2011
Within those constraints, the solution is:
a = 0
The more general solution is
a = -(2*I)*Pi*T/(ln(ln(1/R_1))-ln(ln(1/R_2)))
where I is sqrt(-1) and T is every arbitrary integer. However, that solution requires taking the log of a log and is thus ruled out by the question.
There are no other non-trivial solutions.
If you were able to assign a range of values to R_1 and R_2 and a required accuracy, then there might be a series or taylor expansion that was able to find the basic solution to within the desired accuracy without using logs of logs.
  1 Comment
Walter Roberson
Walter Roberson on 2 Feb 2011
Even if you know R_2 then tayloring would not work within the confines of the question, as the taylor expansion requires taking the log(log(R_2)) at least once, violating the constraint that *no* log of log can be taken.

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!