why ezplot(f,[3000,4000]) would not work

Hi all,
I have this next function which is the result of solving for Px in my code
f=@(Px) (16*(-(((27*Px)/2 - 65625)*((27*Px)/2 + 65625))/4)^(1/2))/27;
the problem is that when I use the ezplot(f,[3000,5000]) it will plot wrong plot. However, if I use
ezplot((16*(-(((27*Px)/2 - 65625)*((27*Px)/2 + 65625))/4)^(1/2))/27,[3000,5000])
the curve will be correct. Please if you have any suggestion to solve this issue advise me.
Thanks
Aziz

2 Comments

No. Actually, the result that you claim does work, will fail in MATLAB.
ezplot((16*(-(((27*Px)/2 - 65625)*((27*Px)/2 + 65625))/4)^(1/2))/27,[3000,5000])
Undefined function or variable 'Px'.
I think you have things confused.
I am sorry I forgot the ' when I posted the function it should be ezplot('(16*(-(((27*Px)/2 - 65625)*((27*Px)/2 + 65625))/4)^(1/2))/27',[3000,5000])
Thank you, Aziz

Sign in to comment.

Answers (1)

Your second form relies upon whatever Px happens to be in memory, and will fail if Px is not a scalar.
Possibly what you meant to post was
ezplot('(16*(-(((27*Px)/2 - 65625)*((27*Px)/2 + 65625))/4)^(1/2))/27',[3000,5000])
When I try that, the output is identical to plotting with your f anonymous function.
When I use your f anonymous function, ezplot gives a warning about f not being vectorized. You can remove that by vectorizing it:
f=@(Px) (16*(-(((27*Px)/2 - 65625).*((27*Px)/2 + 65625))/4).^(1/2))/27;
The output is the same exactly as for the non-vectorized version, and the same exactly as for the string version.

2 Comments

Thank you Walter for the quick response. you are right, I forgot to add '...'. As you mentioned, the output for the vectorized and non-vectorized are the same (a straight line), however, the string version gave different curve which is correct when I checked a solved problem.
Thank you, Aziz
In R2014a on OS-X I get a curve for all three versions. Which MATLAB version are you using?

Sign in to comment.

Categories

Find more on Mathematics in Help Center and File Exchange

Tags

Asked:

on 28 Feb 2016

Commented:

on 28 Feb 2016

Community Treasure Hunt

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

Start Hunting!