Wrong solution using solve with a logarithmic

Hello,
I wanted to solve an equation containing a log function. The solution given by Matlab is not correct, until I multiply the logarithm by 10.
I'm aware of the difference between log and log10 and want to use the natural logarithm.
f_1 = 10* (eta_p/(b_pstern * g * eps_min))*(log(W_0/(W_0-B1)))== s*1000 ;
W_K_1 = double(solve(f_1, B1))
In the equation, everything is numeric except for B1. When I type the exact same equation into my calculator, I get the correct answer. The "10*" is the correction factor I use for the "correct" solution.
Am I using the log function wrong or is there some other error?

2 Comments

Would have to have a complete test case including constants to do any diagnositics...
Thank you for your response. The code with all the variables would be as following :
syms B1
f_1 = (6314642578216891*log(-35316/(B1 - 35316)))/536870912 == 300000 % With *10
f_2 = (5051714062573513*log(-35316/(B1 - 35316)))/4294967296 == 300000 % Without *10
ans = double(solve(f_1, B1))
ans2 = double(solve(f_2, B1))
f_1 is the corrected formula, as it offers the correct solution. f_2 is the formula that I need to use, but f_2 outputs the wrong solution. If I type f_2 into my calculator, I get the solution that Matlab outputs for f_1.
I hope you can follow my explanation!

Sign in to comment.

 Accepted Answer

The outputs cross-check properly
format long g
syms B1
f_1 = (6314642578216891*log(-35316/(B1 - 35316)))/536870912 == 300000 % With *10
f_1 = 
f_2 = (5051714062573513*log(-35316/(B1 - 35316)))/4294967296 == 300000 % Without *10
f_2 = 
f1_sol = solve(f_1)
f1_sol = 
f2_sol = solve(f_2)
f2_sol = 
double(f1_sol)
ans =
889.379424789019
subs(f_1, B1, f1_sol)
ans = 
lhs(ans)-rhs(ans)
ans = 
0
double(f2_sol)
ans =
7950.69092580946
subs(f_2, B1, f2_sol)
ans = 
lhs(ans)-rhs(ans)
ans = 
0

More Answers (0)

Categories

Find more on Mathematics in Help Center and File Exchange

Products

Release

R2021a

Community Treasure Hunt

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

Start Hunting!