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
조회 수: 7 (최근 30일)
이전 댓글 표시
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
채택된 답변
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!