Solving a formula in Matlab

9 Ansichten (letzte 30 Tage)
Belal Abboushi
Belal Abboushi am 6 Mär. 2015
Kommentiert: Roger Stafford am 6 Mär. 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 Kommentare
Torsten
Torsten am 6 Mär. 2015
Maybe by using MATLAB's "solve" ?
Best wishes
Torsten.
Roger Stafford
Roger Stafford am 6 Mär. 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);

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Giorgos Papakonstantinou
Giorgos Papakonstantinou am 6 Mär. 2015
Bearbeitet: Giorgos Papakonstantinou am 6 Mär. 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.

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by