how to solve an exponential equation with one unknown in matlab

3 views (last 30 days)
I have an equation that need to be solved for rs, and I could'nt get the answer in matlab I have values for the other parameters and I need to get rs. But when computing it on MATLAB I dont get a correct answer This is the equation
exp((-pi*ra)/rs)+exp((-pi*rb)/rs)=1
ra=90.82*10^6 rb=90.23*10^6 so only rs in unknown

Accepted Answer

Abraham Boayue
Abraham Boayue on 20 Jul 2018
Try the following code which uses Newton's method to find the root of the f(x) = 0.
close all;
clc;
N = 50;
ra = 90.82e6;
rb = 90.23e6;
a = pi*ra;
b = pi*rb;
tol = 1e-10;
x0 = 0;
x = x0;
xn = x;
for k = 1:N
f = exp(-a*x) + exp(-b*x)-1;
fd = -(a*exp(-a*x) + b*exp(-b*x));
x = x-f/fd;
err = abs(x-xn);
xn = x ;
if err<tol
break;
end
end
rs = 1/xn;
disp(rs)

More Answers (1)

madhan ravi
madhan ravi on 20 Jul 2018
Edited: madhan ravi on 20 Jul 2018
%Try this:
syms rs
ra=90.82*10.^6
rb=90.23*10.^6
rs=vpasolve(exp((-pi.*ra)./rs)+exp((-pi.*rb)./rs)-1,rs)

Categories

Find more on Numerical Integration and Differential Equations in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!