Populating 2D meshgrid of a function of four variables

1 view (last 30 days)
I have a function:
function [y, Grad, Hess] = Target(x)
...
end;
where x's size is 4 (a vector of 4 variables).
How to plot a contour of Target() using a meshgrid of two variables? Something like this code:
xC1 = linspace(0.1, 1.9);
yR1 = linspace(0.1, 1.9);
[XC1, YR1] = meshgrid(xC1, yR1);
% this is wrong: [Z, ~, ~] = Target([XC1, 1, YR1, 1]); how to do it right?
contour(XC1, YR1, Z)

Accepted Answer

Matt J
Matt J on 15 Aug 2021
Edited: Matt J on 15 Aug 2021
As long as you don't care about efficiency,
fun=@(x,y) Target([x,1,y,1]);
Z=arrayfun(fun, XC1,YR1);

More Answers (0)

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!