Undefined function or variable f when using solve function

3 views (last 30 days)
solve(RA(12)==1/f*((2/(k+1))*(1+(k-1)/2*f^2))^((k+1)/(2*k-2)),f)
"Undefined function or variable 'f'."
I want matlab to solve for when the correct positive f value makes the equation true. Currently I get a message that reads, Undefined function or variable 'f'. All I can think is duh, that's what I want you to solve for!!! Can someone else tell me why matlab doesn't understand the command and how to fix it? Also, there will be a positive and negative root. Any suggestions on how to tell matlab to just give me the positive root? Thanks!
  1 Comment
Stephen23
Stephen23 on 1 Dec 2016
Edited: Stephen23 on 1 Dec 2016
@jeremy meyer: did you read the solve documentation? It clearly shows how to specify a variable as being symbolic, which is all you need to do.

Sign in to comment.

Answers (2)

John D'Errico
John D'Errico on 1 Dec 2016
Did you ever tell MATLAB in advance that f is a symbolic variable?
help syms

Walter Roberson
Walter Roberson on 1 Dec 2016
Before that you need to
syms f
You can further restrict that as
syms f positive
but you should still cross-check the result as sometimes constraints get ignored.

Community Treasure Hunt

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

Start Hunting!