Command findobj('Type','FunctionLine') produces error if used after fplot invoked with three arguments, fplot(X,Y,LIMITS) - 0×0 empty GraphicsPlaceholder array
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Stephen23
2024-11-28
编辑:Stephen23
2024-11-28
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 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Calculus 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!