I have a problem with surface parameters (fsurf)

Hello there, this is my first time using this site for help so if i don't get the etiquette right please do let me know. OK so i am trying to plot the following surface f(x,y)= (3*x^2+y^2)*exp(-x-y) with intervals -2 < x < 2 and -2 < y < 2 i have produced the following code:
syms x y
f(x,y) = (3*x^2+y^2)*exp(-y-x);
fsurf(f,[-2 2 -2 2])
However the results are terrible i have tried changing the parameters and tried using a mesh but i get nowhere. Now i have been using a tool online called Calcplot3D see here https://www.monroecc.edu/faculty/paulseeburger/calcnsf/CalcPlot3D/ this tool displays the function how i would expect it to look, i don't understand why i can't replicate this in matlab.
Any help would be brilliant Best Regards Jake

 Respuesta aceptada

madhan ravi
madhan ravi el 30 de Oct. de 2018
Editada: madhan ravi el 30 de Oct. de 2018
syms x y %edited
f(x,y) = (3*x^2+y^2)*exp(-y-x);
ezsurf(f)
xlim([-2 2])
ylim([-2 2])
zlim([-5 5])

13 comentarios

madhan ravi
madhan ravi el 30 de Oct. de 2018
Editada: madhan ravi el 30 de Oct. de 2018
"_i don't understand why i can't replicate this in matlab._“
If you use symbolic parameters make sure to use ezsurf()
Jake Simmonds
Jake Simmonds el 30 de Oct. de 2018
Thank you, the following code with my function still produces unexpected results, the function looks nothing like that :(
madhan ravi
madhan ravi el 30 de Oct. de 2018
Check edited answer
Jake Simmonds
Jake Simmonds el 30 de Oct. de 2018
Editada: Jake Simmonds el 30 de Oct. de 2018
I have checked the function if you run the code you get a plot that looks like sheet of paper that looks like it has been lifted at one corner. However if you use that webtool for the function f(x,y)= (3*x^2+y^2)*exp(-x-y) you get the proper function!
madhan ravi
madhan ravi el 30 de Oct. de 2018
No not at all matlab is sophisticated than you think there are two figures in my code plus the one which you suggested in the website has a different equation look carefully!!
Jake Simmonds
Jake Simmonds el 30 de Oct. de 2018
I guess i haven't made myself clear enough, what i meant to say is that using that tool to evaluate the function i was looking at (3*x^2+y^2)*exp(-x-y) you get a much more expected "normal" plot.
madhan ravi
madhan ravi el 30 de Oct. de 2018
Could you upload the picture of your expected plot ?
Jake Simmonds
Jake Simmonds el 30 de Oct. de 2018
madhan ravi
madhan ravi el 30 de Oct. de 2018
zlim([-5 5])
madhan ravi
madhan ravi el 30 de Oct. de 2018
In fact it’s the same plot but the scaling was different that’s why the figure seemed to be different add the previous comment as your last line and see the difference
madhan ravi
madhan ravi el 30 de Oct. de 2018
See the edited answer now
Jake Simmonds
Jake Simmonds el 30 de Oct. de 2018
Ah ok, it's still not as nice though is it as the plot above? it's an improvement though so thanks. I think i will stick to that web-tool though.
madhan ravi
madhan ravi el 30 de Oct. de 2018
If you get used to Matlab you may find it easy to manipulate anyways glad that you got the answer for your question , make sure to accept the answer so that people know that question is solved

Iniciar sesión para comentar.

Más respuestas (1)

Matt J
Matt J el 30 de Oct. de 2018
Editada: Matt J el 30 de Oct. de 2018
f = @(x,y) (3*x.^2+y.^2).*exp(-y-x);
fsurf(f,[-2 2 -2 2])

2 comentarios

Jake Simmonds
Jake Simmonds el 30 de Oct. de 2018
Should it not have the dot before *exp ? like so: f = @(x,y) (3*x.^2+y.^2).*exp(-y-x); Also this still does not replicate the function as it should be!!!
Matt J
Matt J el 30 de Oct. de 2018
Yes, I have added .*

Iniciar sesión para comentar.

Preguntada:

el 30 de Oct. de 2018

Comentada:

el 30 de Oct. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by