Is there a Way to Determine Which Function Will be Called Without Actually Calling the Function ?
1 次查看(过去 30 天)
显示 更早的评论
Suppose there is a function myfunc that has many instantiations on the path because of overloading. Is there a way to determine which instantion will be called based on the form of the function call without actually calling the function? For example, supppose I have x and y in my workspace. Is there something like this:
which myfunc(x,y)
that returns the full path to the myfunc that would be executed, but doesn't actually call myfunc?
0 个评论
采纳的回答
Steven Lord
2020-9-7
Yes, and in fact you've already given the syntax for that call! See the "Locate Function Invoked with Given Input Arguments" example on the documentation page for the which function.
>> syms x
>> which sin(x)
C:\Program Files\MATLAB\R2020a\toolbox\symbolic\symbolic\@sym\sin.m % sym method
Though since you use the word "return" you'd need to use the function form of which with an output argument.
>> N = which('sin(x)')
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Number Theory 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!