How do I get a surface graph of my function f(x,y)?

8 vues (au cours des 30 derniers jours)
DIMITRIS GEORGIADIS
DIMITRIS GEORGIADIS le 18 Nov 2017
Commenté : Karan Gill le 20 Nov 2017
I have the following code. My function is f(x,y) = sin(x)+cos(y). I want to replace x, y with sets a and b, respectively. I ude the subs function, but Z is a 51x51 sym, instead of 51x51 double in order to be plotted. Where is my mistake?
syms x y
f = sin(x)+cos(y);
a = [0:0.1:5];
b = [1:0.1:6];
[X, Y] = meshgrid(a,b);
Z = subs(f,[x y], {X, Y});
surf(X,Y,Z)

Réponse acceptée

Star Strider
Star Strider le 18 Nov 2017
Use an anonymous function, and don’t use the Symbolic Math Toolbox. You don’t need it for this problem.
f = @(x,y) sin(x)+cos(y);
a = [0:0.1:5];
b = [1:0.1:6];
[X, Y] = meshgrid(a,b);
Z = f(X,Y);
surf(X,Y,Z)
  5 commentaires
Star Strider
Star Strider le 20 Nov 2017
As always, my pleasure!
Karan Gill
Karan Gill le 20 Nov 2017
@Dimitris, or use fsurf instead of fmesh.
@Star Strider, actually it's only
>> f = @(x,y) sin(x)+cos(y);
>> fsurf(f)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Discrete Math dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by