Command findobj('Type','FunctionLine') produces error if used after fplot invoked with three arguments, fplot(X,Y,LIMITS) - 0×0 empty GraphicsPlaceholder array
22 views (last 30 days)
Show older comments
bastardo
on 28 Nov 2024 at 8:27
I am preparing a short test in MATLAB Grader, but I am struggling with one particular feature. Namely, I can't seem to assess the validity of a symbolic function plot, using the commands assert, fplot(X,Y,LIMITS) and findobj.
Here is an example code derived from MathWorks samples. If I run
clear variables
syms x y real
figure;
f(x) = sin(x)/x;
fplot(x,f,[-4*pi,4*pi])
legend show
lineobj = findobj('Type','FunctionLine')
I get error message lineobj =
If one changes the last line with the following (losing X argument)
fplot(f,[-4*pi,4*pi])
then it works.
Is there a way to introduce flexibility so that the student can use both variants of the fplot?
0 Comments
Accepted Answer
Stephen23
on 28 Nov 2024 at 9:28
Edited: Stephen23
on 28 Nov 2024 at 9:34
A curve defined by a function of X and a function of Y is a parametric curve, so you would need to search for the corresponding object type 'ParameterizedFunctionLine' :
syms x y real
f(x) = sin(x)/x;
fplot(x,f,[-4*pi,4*pi])
lineobj = findobj('Type','ParameterizedFunctionLine')
You could thus search for both line objects and check which one is empty/scalar/whatever size.
Also note that FPLOT does return the line objects as outputs.
Read more about the line objects: https://www.mathworks.com/help/matlab/ref/fplot.html#bu6xntj-8
0 Comments
More Answers (0)
See Also
Categories
Find more on Calculus in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!