how to use the 'solve' function?

10 views (last 30 days)
Dany
Dany on 27 Mar 2013
hello, im having problem trying to use the solve problem. it's not my first time using it but thata the first time its not working. i have this code line:
tmp = solve('x/L = (1-(h+eta)/ho) - A*log(((h+eta)/ho - A)/(1-A))','eta');
all the parameters are known except 'eta', still it does not provide a solution.
how can i fix it? any sugestions? thank you

Answers (6)

Carlos
Carlos on 27 Mar 2013
Doing
>> tmp = solve('x/L = (1-(h+eta)/ho) - A*log(((h+eta)/ho - A)/(1-A))','eta')% no semicolon here
tmp =
A*ho - h + (ho - A*ho)/(exp(wrightOmega(log((ho - A*ho)/(A*ho)) - (x/L + h/ho - (h - A*ho)/ho - 1)/A))*exp((x/L + h/ho - (h - A*ho)/ho - 1)/A))
It does give a solution.

Dany
Dany on 27 Mar 2013
thats what im getting too. but i supose to have a numeric answer. i cant use the 'eval' function because it does not recognize 'wrightOmega'.
thats the problem.

Carlos
Carlos on 27 Mar 2013
Using arbitrary values for x, h, h0, A and L
>> syms eta;
>> x=1;h=1;ho=1;A=0.1;L=1;
>> f=x/L -(1-(h+eta)/ho) - A*log(((h+eta)/ho - A)/(1-A));
>> eval(solve(f,eta))
ans =
-1.1068 - 0.2302i

Dany
Dany on 27 Mar 2013
ok, thank you Carlos.
i'll give it a try
  1 Comment
Carlos
Carlos on 27 Mar 2013
Edited: Carlos on 27 Mar 2013
I think it should work, just remember to change the values of x,h... Please comment if something does not work by trying my approach to the problem.

Sign in to comment.


Dany
Dany on 27 Mar 2013
sorry Carlos, it still does not work.
i try it with this values (real ones): h = 1.3721, ho = 500, L = 20000, x = 54.8828, A = -1.6452e-008.
and i still get the 'wrightOmega' and no answer .....

Dany
Dany on 27 Mar 2013
ok it works..... thank you
  1 Comment
Carlos
Carlos on 27 Mar 2013
You are welcome, please mark my answer so people know the answer is correct and can use my answer for their problems.

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!