Using surf with two-dimensional function handle argument

16 views (last 30 days)
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

Walter Roberson
Walter Roberson on 13 Feb 2018
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!