Solving equations in Matlab

조회 수: 3 (최근 30일)
Grant
Grant 2013년 4월 29일
I am trying to solve a transcendental equation in Matlab, as follows:
fAc=solve((QAc-1)/(QAc+1)==f*arccosh(exp(0.693/f)/2),f);
I am getting the error:
Undefined function or variable 'f'.
Error in analyz (line 74)
fAc=solve((QAc-1)/(QAc+1)==f*arccosh(exp(0.693/f)/2),f);
and I'm not sure how to fix it. I have given QAc fake values that are approximately what they will really be.
Adding a "syms fAc" gives the error:
Undefined function 'arccosh' for input arguments of type 'sym'.
If I try to solve it in Mathematica, I get a complex number (and I want to eventually take the absolute value of it if it ends up being complex).
I know that Mathematica solves this a lot easier, but I'm not sure how to use the "ToMatlab.m" package that I've seen people refer to.
Any help is appreciated.
Thanks.
  댓글 수: 2
Walter Roberson
Walter Roberson 2013년 4월 29일
Do you perhaps mean
syms f QAc
Grant
Grant 2013년 4월 29일
I get the same error if I try that.

댓글을 달려면 로그인하십시오.

채택된 답변

Azzi Abdelmalek
Azzi Abdelmalek 2013년 4월 29일
It's not arccosh, It's acosh
  댓글 수: 3
Azzi Abdelmalek
Azzi Abdelmalek 2013년 4월 29일
syms QAc f
fAc=solve((QAc-1)/(QAc+1)==f*acosh(exp(0.693/f)/2),f);
Grant
Grant 2013년 4월 29일
편집: Grant 2013년 4월 29일
That works, thank you very much.
Would you mind giving a brief explanation as to why it does, as compared to what I was doing?
Thanks a lot.
EDIT: I just want to make sure, this will work if I give QAc a value right? or would I just remove QAc from the line "syms QAc f"?

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

제품

Community Treasure Hunt

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

Start Hunting!

Translated by