Matlab F(x,y,z) Plotting
Show older comments
Greetings,
I would like to plot a function i.e. f(x,y,z) = X.^4 - 2*X.^2 + Y.^2 + 2*Y*Z +2*Z.^2 for my backtracking optimization problem. I am able to plot the contour of f(x,y) questions with the code given below. But I couldn't even plot a contour such function. Any help would be appreciated.
xAxis = linspace(-1,2.5,1000);
yAxis = linspace(-1,2.5,1000);
zAxis = linspace(-1,2.5,1000);
[ X,Y ] = meshgrid(xAxis,yAxis);
Z = X.^2 + 5*Y.^2 ;
contour(X,Y,Z,30)
Best Regards,
Ömer
Answers (2)
Ameer Hamza
on 16 May 2020
Edited: Ameer Hamza
on 16 May 2020
You can use slice() to create a contour plot of your function at specified planes. Try this
xAxis = linspace(-1,2.5,100);
yAxis = linspace(-1,2.5,100);
zAxis = linspace(-1,2.5,100);
[X, Y, Z] = meshgrid(xAxis,yAxis,zAxis);
f = X.^4 - 2*X.^2 + Y.^2 + 2*Y.*Z +2*Z.^2;
x_planes = [1 2];
y_places = 0;
z_planes = [0.5 1];
slice(X, Y, Z, f, x_planes, y_places, z_planes);
Categories
Find more on Surface and Mesh 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!