How to find the input to a function given the result?

조회 수: 1 (최근 30일)
Alejandro Morales
Alejandro Morales 2014년 11월 23일
댓글: Star Strider 2014년 11월 23일
Hello
I have a function called RKS which accepts 2 values T and P and gives me a value S. In the main script it looks like this:
S=RKS(T,P);
If I have S and P and I am trying to find T how can I do it using the matlab solver. I was told that I could do it this way without having to modify the RKS function itself but I have not study how to use the solver in matlab and can't figure it out. I keep getting errors. Also if there is any other way of getting T I am open to subjection.
Thanks You.

답변 (1개)

Star Strider
Star Strider 2014년 11월 23일
Here is one possibility:
RKS = @(T,P) P.^-T;
P = 5;
S = RKS(3,P);
T = fzero(@(T) RKS(T,P)-S, 1);
  댓글 수: 2
Alejandro Morales
Alejandro Morales 2014년 11월 23일
What is the 3 in
S = RKS(3,P);
suppose to be? A random guess?.
Star Strider
Star Strider 2014년 11월 23일
Yes.
Both the ‘3’ and the ‘RKS’ function are random guesses. The point is to illustrate an approach to recovering ‘T’.
This assumes that the function S(P,T) is one-to-one. If the function is a power of ‘T’, periodic in ‘T’, or something else, the solution would not necessarily be unique.

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

카테고리

Help CenterFile Exchange에서 MATLAB에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by