Populating 2D meshgrid of a function of four variables

2 views (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)

Categories

Find more on Graphics Performance in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!