# How to convert symbolic calculation to numeric?

2 views (last 30 days)
Amit Kumar on 22 Oct 2013
Commented: Amit Kumar on 22 Oct 2013
Hi, I want to convert symbolic calculations into numeric one and substitute in the MATLAB program. This is because symbolic computation is taking a lot of time to do. Is there any way to convert symbolic calculation into numeric? Also I have one more question. I defined a function
f=sym('x1^2+2*x2^2+2*x3^2+2*x1*x2+2*x2*x3')
p=[1,1,1];
t2=p(1);
t2=evalAt(f,[x1=p(1),x2=p(2),x(3)=p(3),a=b]);
MATLAB gives error. I really don't understand what is problem. We do such substitutions in other matrices a=p(1) and so on. Why is this error? Really hard time for me. People, please help.
##### 0 CommentsShow -2 older commentsHide -2 older comments

Sign in to comment.

### Answers (1)

Walter Roberson on 22 Oct 2013
Where did you do the
syms x1 x2 x(3) a
Also note that your expression uses x3 but your evalAt uses x(3)
##### 4 CommentsShow 2 older commentsHide 2 older comments
Walter Roberson on 22 Oct 2013
evalAt is a MuPAD function that has no direct MATLAB interface. If you want to use it you will need to use feval() or evalin()
t2 = feval('evalAt', f, {x1=p(1),x2=p(2),x3=p(3),a=b});
For your other question, look at matlabFunction()
Amit Kumar on 22 Oct 2013
A Jenkins: My mistake, I did define b but forgot to put in this code. Thanks for this!
Walter Roberson: Thank you very much providing some solution. I was trying really hard to get this. Thanks!

Sign in to comment.

### Categories

Find more on Utilities for the Solver 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!