Piece-wise handle function help
    5 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
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 comentarios
Respuestas (2)
  per isakson
      
      
 el 9 de Ag. de 2012
        
      Editada: per isakson
      
      
 el 9 de Ag. de 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 comentarios
  Matt Fig
      
      
 el 9 de Ag. de 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 comentario
Ver también
Categorías
				Más información sobre Assumptions en Help Center y File Exchange.
			
	Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



