Trouble substituting a value into a symbolic expression for use with fplot
조회 수: 2 (최근 30일)
이전 댓글 표시
I'm having difficulty understanding what I'm doing wrong here:
syms x a
f=exp(x-a);
g=subs(f,'a',sym(0));
fplot(g,[-5 5])
I get the error:
Error using fcnchk (line 103)
If FUN is a MATLAB object, it must have an feval method.Error in fplot (line 61)
fun = fcnchk(fun);
If I explicitly define g as being a symbolic function:
fplot(@(x)g,[-5 5])
Undefined function 'isfinite' for input arguments of type 'sym'.
Error in fplot (line 113)
J = find(isfinite(y));
I clearly am not understanding the way the symbolic toolbox works and would appreciate a pointer.
댓글 수: 0
채택된 답변
Alexander
2012년 3월 20일
The command fplot only takes function handles, not symbolic objects. The easiest way to plot symbolic objects is using ezplot:
ezplot(g,[-5 5])
If you want to use fplot, you can use the command matlabFunction to convert the symbolic object into a MATLAB anonymous function:
fplot(matlabFunction(g),[-5 5])
댓글 수: 4
Walter Roberson
2017년 12월 11일
fplot() does accept symbolic objects in modern versions, but did not when the question was originally asked.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Assumptions에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!