Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

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

Christian

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.

Walter Roberson
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!

Azzi Abdelmalek

Contact us