Piece-wise handle function help
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello Dear Experts,
Consider I have a piece wise function and I want to create it using handle @ and pass it to another function, please guide me how to do this.
For example, how to define: f = @(x) x^2 if x<0, -x^2 if x>0
and to pass it to another function: func(f) After passing the function to the func, I need to be able to operate with it
for example:
function res = func(f)
res = f(5);
end
0 commentaires
Réponses (2)
per isakson
le 9 Août 2012
Modifié(e) : per isakson
le 9 Août 2012
Try
>> cssm
ans =
-25
where in one m-file, cssm.m
function y = cssm
y = foo( @piece_wise );
end
function r = piece_wise( x )
if x < 0
r = x*x;
else
r = -x*x;
end
end
function r = foo( f )
r = f(5);
end
The three function may be defined in separate m-files
0 commentaires
Matt Fig
le 9 Août 2012
It is not terribly efficient, but can be done:
f = @(x) (x.^2).*(x<0)-(x.^2).*(x>=0);
x = -10:.001:10;
plot(x,f(x))
1 commentaire
Voir également
Catégories
En savoir plus sur Get Started with MATLAB dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!