Date: Apr 4, 2013 9:20 PM
Author: Nasser Abbasi
Subject: Re: How can I change a variable in a equation when use "solve"?

On 4/4/2013 5:17 PM, Jingzhou Wang wrote:
> Dear all,
> A question about using the solve function. My code is as follows,
> syms a x y
> s = solve('x*exp(x)=y, y=a-x','x,y')
> s = [s.x s.y]
> It works when I use a number such as "2" instead of "a" in the equation
>'y=a-x'. But when I include the variable in the equation, it doesn't go.
>Since I want to change the "a" value outside the "solve" function, how can I do this?
> The matlab version is R2010a.
> Many thanks!
> Jing

There is no algebraic solution for x

EDU>> syms x y a
EDU>> sol=solve(x*exp(x)==a-x,x)
Warning: Explicit solution could not be found.
> In solve at 179

when you put a number for 'a', then matlab must have used
numerical root finding to solve it

EDU>> sol=solve(x*exp(x)==2-x,x)

I hope you know that not every equation have closed form solution.