Using surf with two-dimensional function handle argument

How might I use meshgrid and surf to plot a surface of a two-dimensional function handle?
So instead of f(x1,x2), f(x) when x=[x1 x2]
f =@(x1,x2) x1.^2 + x2.^2;
t = linspace(-10,10,20);
[xx,yy] = meshgrid(t,t);
surf(xx,yy,f(xx,yy))

 Accepted Answer

f =@(x) x(1).^2 + x(2).^2;
t = linspace(-10,10,20);
[xx,yy] = meshgrid(t,t);
surf(xx,yy,arrayfun(@(x,y)f([x,y]),xx,yy))

More Answers (0)

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!