MATLAB Answers

Christian

How to convert from symbol to double?

Asked by Christian
on 19 Jan 2013

Hi,

I am pretty new to MATLAB, so this might be a stupid question. However, I am encountering a problem when i try to convert a matrix of 1x1 symbols into a matrix with doubles, where the symbols are converted to doubles each. Each element in the matrix is a function of a lot of symbols, which I need somehow to convert into numbers. I have something like this:

    syms x y;
    f = function of x and y
    x = 2;
    y = 3;
    f.

However, doing this gives me f as a function of the syms x and y, and not the numbers 2 and 3... Hope you can somehow help me, as Im kinda stuck in my coding.

Regards, Christian

  0 Comments

Products

No products are associated with this question.

2 Answers

Answer by Walter Roberson
on 19 Jan 2013
 Accepted answer
double(subs(f))

  4 Comments

Walter Roberson
on 19 Jan 2013

Because subs() would result in symbolic numbers after substitution. double() finishes the conversion to numeric.

Azzi Abdelmalek
on 20 Jan 2013
syms x
f=cos(x);
x=10;
y=subs(f);
whos y
Walter Roberson
on 20 Jan 2013

I do not have the Symbolic Toolbox to test this with.


Answer by Azzi Abdelmalek
on 19 Jan 2013
Edited by Azzi Abdelmalek
on 19 Jan 2013

Use

suyms x
f=cos(x);
x=10;
eval(f)

  1 Comment

Walter Roberson
on 19 Jan 2013

No, do not eval() syms!


Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply today