Function having string as argument
조회 수: 3 (최근 30일)
이전 댓글 표시
Hi there,
I am making a function called 'derr' which calculates derivative of the function given in the argument as string.
function = derr('name of function');
example if 'sin' is given as argument this function should calculate derivative of sin.
calling of function should be like : derr('sin')
How can I do that?
Thank you.
댓글 수: 0
채택된 답변
Stephen23
2019년 4월 11일
편집: Stephen23
2019년 4월 11일
I would not recommend using a string to define the input function.
A much more reliable way would be to write your code to accept a function handle (which is the correct variable type for holding functions):
For example, define your function something like this:
function out = myfun(fun)
assert(isa(fun,'function_handle'),'Input must be a function handle')
out = fun(pi); % do whatever you want with the function handle...
end
and then simply call your function using any function handle:
myfun(@sin)
myfun(@cos)
myfun(@sqrt)
myfun(@(n)3*(n.^2))
If you really want to limit the user to using strings (not designed for holding functions) then consider using str2func or switch inside your function.
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Characters and Strings에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!