Matlab F(x,y,z) Plotting
23 views (last 30 days)
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
0 Comments
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);
0 Comments
See Also
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!