Group Abstract Group Abstract

Message Boards Message Boards

Solve Redox equation with inexact coefficients, Solve[Log10[f(x)]]?

Posted 10 years ago
POSTED BY: Jonas N.
9 Replies
Posted 10 years ago

I take your expression from your latest post

f = FullSimplify[176/100 + 128117/10^7 (Log[10, 65] - Re[Log[10, (309/10 - 15/10 X)]]) - 426911/10^8
   (Log[10, 369720589101871337890625 X^2]-(14 Re[Log[10, 500000001/10000000-7 X]]+Re[Log[10,41/10-5/10 X]]))]

and then

Plot[f, {X, 0, 10}, WorkingPrecision -> 20]

and then

the plot

and then in a fraction of a second

FindRoot[f == 0, {X, 7}, WorkingPrecision -> 20]

gives {X -> 7.1428571571087710129} a one warning about it likely not really being 20 digits of precision.

But I suspect those Re[] may be giving you something very different from what you are expecting to measure with an instrument in the lab.

Perhaps if you could retreat from all of the changes and little errors and revisions and patches and ways of trying to possibly make Mathematica happy, perhaps even well back before your first post here, and just explain in the simplest, clearest possible way what you are certain the original problem to solve really is then someone might be able to take a few minutes and see if they can find a way to quickly calculate a solution.

POSTED BY: Bill Simpson
Posted 10 years ago
POSTED BY: Jonas N.
Posted 10 years ago
POSTED BY: Jonas N.

Hi,

this here appears to work on WA. It does time out but you do see two (very similar) solutions. I would recommend though to use one of the free versions of the Wolfram Language in the cloud, such as the Wolfram Development Platform. There you can use standard Wolfram Language code:

sols=NSolve[0 == 1.33 - (0.059/6)*Log10[((X/60)^2)/(((25 - 7*X + 10^(-7))/60)^14*0.5*X)] - (-0.43 - 
0.0295*Log10[1/((25 + 5.9 - 1.5*X)/60)]), X, Reals, WorkingPrecision -> 30]

If you substitute that into the original equation it seems to work:

1.33 - (Rationalize[0.059]/6)*Log10[((X/60)^2)/(((25 - 7*X + 10^(-7))/60)^14*1/2*X)] - (-Rationalize[0.43] - 
Rationalize[0.0295]*Log10[1/((25 + Rationalize[5.9] - 3/2*X)/60)]) /. sols

Gives two "numerical zeros".

Cheers,

Marco

POSTED BY: Marco Thiel
Posted 10 years ago
POSTED BY: Jonas N.
POSTED BY: Frank Kampas
Posted 10 years ago

Ok, thanks, now I at least understand why it wouldn't compute. Could you give me some kind of advice on how to get

Log10[(369720589101871337890625 X^2)/((500000001/10000000 - 7 X)^14 (4.1 - 0.5 X))]    

to be either? I'm assuming to get that to be an integer is pretty unrealistic. Is there a chance to get it to be a fraction? My initial idea was rounding that, but it failed. Probably because you can't round variables...

POSTED BY: Jonas N.
Posted 10 years ago

Try this

WA Plot

followed by

WA FindRoot

POSTED BY: Bill Simpson
Posted 10 years ago

Thank you Bill,

Yesterday evening I tried the Plot[ ], too, but sadly it didn't lead to a solution I was satisfied with...

Both, the find root and the plot give back the result 3.57[...], which was my original result. As I looked at the Formula noticed that it was using my original mistaken one and not the "revised" version.

Thanks for your effort!

POSTED BY: Jonas N.
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard