Piece-wise handle function help
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Antworten (2)
per isakson
am 9 Aug. 2012
Bearbeitet: per isakson
am 9 Aug. 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 Kommentare
Matt Fig
am 9 Aug. 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 Kommentar
Siehe auch
Kategorien
Mehr zu Language Fundamentals finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!