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

*No products are associated with this question.*

Answer by Walter Roberson
on 19 Jan 2013

Accepted answer

double(subs(f))

Show 1 older comment

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)

Walter Roberson
on 19 Jan 2013

No, do not eval() syms!

Related Content

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

Learn moreOpportunities for recent engineering grads.

Apply Today
## 0 Comments