Having a function input be a function handle

2 次查看(过去 30 天)
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

采纳的回答

Geoff Hayes
Geoff Hayes 2015-3-17
- 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 个评论
Desmond Johnson
Desmond Johnson 2015-3-17
Actually I figure out the problem. My other question is what if you want the function input to be ^2?
Geoff Hayes
Geoff Hayes 2015-3-18
If you want to define your own function handle, you could try
func = @(x)x.^2;
Desmond(func,10);

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Whos 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by