the fsurf produce incorrect plotting?

2 views (last 30 days)
Hi,
When I use [syms]+[fsurf]
it seems not produce correct answer:
syms T P
G=T*log(P);
fsurf(G,[298 500 10^(-10) 10])
20190926210237.png
it can be easily checked that it doesn't produce correct plotting by any analytical calculation
So why is that?

Accepted Answer

Asvin Kumar
Asvin Kumar on 30 Sep 2019
Edited: Asvin Kumar on 1 Oct 2019
The output by fsurf in the example given is being plotted for P in the range of 298 – 500 and T in the range of 10^(-10) – 10. This behaviour is observed because fsurf maps the values in the xyinterval argument to the symbolic variables in G as listed in:
symvar(G)
One simple workaround for this would be to replace [298 500 10^(-10) 10] with [10^(-10) 10 298 500].
Another approach would be to use symfun as follows:
syms T P
G= symfun(T*log(P),[T P]);
fsurf(G,[298 500 10^(-10) 10]);
For more details have a look at:

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!