plot a surface for g-f=0
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposta accettata
Star Strider
il 5 Giu 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 Commenti
Paul
il 6 Giu 2022
Why use ndgrid() here and not meshgrid()? Doesn't surf expect the first two arguments to be in meshgrid() format?
Star Strider
il 6 Giu 2022
Either work, although the outputs are different. Some functions require meshgrid and others require ndgrid.
Vedere anche
Categorie
Scopri di più su Surface and Mesh Plots in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!