I think one way to solve this problem is: if I have a function, for example: myfunc = @(x) x(1) + x(2) + x(3) then I can create another one which only accepts individual inputs: myfunc2 = @(x1,x2,x3) myfunc([x1,x2,x3]) Therefore, I can apply meshgrid on myfunc2
Use meshgrid to evaluate anonymous function which accepts vector inputs
8 views (last 30 days)
Show older comments
Liang Chen
on 16 Feb 2018
Commented: Liang Chen
on 16 Feb 2018
Hello,
I want to numerically evaluate the average value of an function over a domain using meshgrid. For this simple example, we can use many other methods but I would like to stick with meshgrid.
% Define my domain, a rectangle
[X1,X2] = ndgrid([1,2],[3,4]);
% Define myfunc1 with individual input
myfunc1 = @(x1,x2) x1+x2;
% Define myfunc2 with a two-dimensional vector
myfunc2 = @(x) x(1)+x(2);
% Evaluate the mess grid using following expression
f01 = myfunc1(X1,X2);
% what about f02? I cannot do the following
f02 = myfunc2([X1,X2]);
% After got f01 or f02, I can use sum() to get average value.
So if a function accepts a vector input, how to use it to evaluate a meshgrid? I don't want to convert it back to multiple individual inputs. Thanks, Liang
Accepted Answer
More Answers (0)
See Also
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!