Solving a formula in Matlab

1 visualización (últimos 30 días)
Belal Abboushi
Belal Abboushi el 6 de Mzo. de 2015
Comentada: Roger Stafford el 6 de Mzo. de 2015
Hello everyone,
In the following formula : X= 2y + 10 log(1+ E/S)
I want the user to input X, y, and S. Is there anyway i can get matlab to give me the value of E without having to rewrite the formula?
Thank you so much!
  2 comentarios
Torsten
Torsten el 6 de Mzo. de 2015
Maybe by using MATLAB's "solve" ?
Best wishes
Torsten.
Roger Stafford
Roger Stafford el 6 de Mzo. de 2015
It seems a shame not to use such a simple inverse formula as:
E = S*(exp((X-2*y)/10)-1);
assuming your log is the natural logarithm. Otherwise:
E = S*(10^((X-2*y)/10)-1);

Iniciar sesión para comentar.

Respuesta aceptada

Giorgos Papakonstantinou
Giorgos Papakonstantinou el 6 de Mzo. de 2015
Editada: Giorgos Papakonstantinou el 6 de Mzo. de 2015
x = input('Enter the value of x: '); % request user input
y = input('Enter the value of y: ');
S = input('Enter the value of S: ');
f = @(E) 2.*y + 10*log(1+ E./S) - x; % create an anonymous function
[Eval, fval]= fsolve(f, 1); % solve your equation
or you can also:
syms E
f = 2.*y + 10*log(1+ E./S) == x;
solve(f, E)
If log refers to the base of 10 rewrite f by replacing log with log10.

Más respuestas (0)

Categorías

Más información sobre Mathematics en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by