??? Error: Unexpected MATLAB operator.

4 views (last 30 days)
Hello everyone,
I'm cofused by this problem for several days. here is the error message:
??? Error: Unexpected MATLAB operator.
Error in ==> sym.eval at 15
s = evalin('caller',vectorize(map2mat(char(x))));
Error in ==> test_nmt_m2 at 80
J1 = eval(feval(symengine,'numeric::int',f4,'r=lower3..upper3')) + ...
Here is the code which producing the error:
J1 = eval(feval(symengine,'numeric::int',f4,'r=lower3..upper3')) + ...
eval(feval(symengine,'numeric::int',f2,'r=lower1..upper1')) + ...
eval(feval(symengine,'numeric::int',f3,'r=lower5..upper5')) + ...
eval(feval(symengine,'numeric::int',f4,'r=lower2..upper2'));
Thanks in advance if anybody can solve this problem.

Accepted Answer

Walter Roberson
Walter Roberson on 10 Jul 2019
Never eval() a symbolic expression. The language they use is not MATLAB and is not mupad.
I suspect that numeric integration is failing for you, returning back an unevaluated numeric::int form.
  3 Comments
Walter Roberson
Walter Roberson on 10 Jul 2019
vpaintegral()
However any numeric integral can fail as the code can detect no convergence to within available numeric accuracy. Numeric integration across a singularity is not any more possible than theoretical integration across the singularity.
XIONG Qingxiang
XIONG Qingxiang on 10 Jul 2019
Thank you very much!
That's exactly the answer what I am looking for. For the case of non-monotonic, it can work for one time, when it comes to loop, for example, two or three times, it fails. So in the case of non-monotonic, what else method should I use for integration when it's divergence?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!