Matlab F(x,y,z) Plotting

13 次查看(过去 30 天)
Ömer Faruk Çetinkaya
移动Torsten 2023-4-20
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

回答(2 个)

Ameer Hamza
Ameer Hamza 2020-5-16
编辑:Ameer Hamza 2020-5-16
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);

Drc
Drc 2023-4-20
y^2/b^2-x^2/a^2=z/c
I want this function in 3D

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by