plot a surface for g-f=0
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
M
el 5 de Jun. de 2022
Comentada: Star Strider
el 6 de Jun. de 2022
Hi, would you mind telling me how can I plot g-f=0 as a surface.
f=0.07.*z.^2./(0.09+z.^2) and g=0.003+0.01.*(42./(42+(y-z).^4))
Thanks in advance for any help.
0 comentarios
Respuesta aceptada
Star Strider
el 5 de Jun. de 2022
That is challenging, however it will work with certain restrictions on the matrix dimensions (i.e. they must both be the same sizes) —
f = @(z) 0.07.*z.^2./(0.09+z.^2);
g = @(y,z) 0.003+0.01.*(42./(42+(y-z).^4));
N = 25;
y = linspace(-10, 10, N);
z = linspace(-10, 10, N);
[Y,Z] = ndgrid(y,z);
figure
surf(Y,Z,f(Z))
colormap(turbo)
figure
surf(Y,Z,g(Y,Z))
colormap(turbo)
figure
surf(Y,Z,g(Y,Z)-f(Z))
hold on
contour3(Y,Z,g(Y,Z)-f(Z), [0 0], '-r', 'LineWidth',2) % Plot Contour At 0
hold off
colormap(turbo)
.
4 comentarios
Paul
el 6 de Jun. de 2022
Why use ndgrid() here and not meshgrid()? Doesn't surf expect the first two arguments to be in meshgrid() format?
Star Strider
el 6 de Jun. de 2022
Either work, although the outputs are different. Some functions require meshgrid and others require ndgrid.
Más respuestas (1)
Ver también
Categorías
Más información sobre Surface and Mesh Plots en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!