Having a function input be a function handle

2 views (last 30 days)
Hi I am trying to make it so one of my inputs is a function handle so for example make it sin(x). Here is the code I have written so far. Thank you in advance for any help you can offer.
function []=Desmond(myfunction,n)
mytest=@(x) sin(x)
mytest=myfunction
x=-10:10;
y=myfunction(x).^n;
plot(x,y)
end

Accepted Answer

Geoff Hayes
Geoff Hayes on 17 Mar 2015
- if you want to pass a function handle into your code, then just prefix the function name with @. For example, if your code is
function Desmond(hFunc,n)
x=-10:10;
y= hFunc(x).^n;
plot(x,y)
end
then to pass sin into this function you would simply call the above as
Desmond(@sin,10)
  3 Comments
Desmond Johnson
Desmond Johnson on 17 Mar 2015
Actually I figure out the problem. My other question is what if you want the function input to be ^2?
Geoff Hayes
Geoff Hayes on 18 Mar 2015
If you want to define your own function handle, you could try
func = @(x)x.^2;
Desmond(func,10);

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!