MATLAB: 3 sequential equations doesn’t solve.. some help plz

non-polynominalsequential equationssolve

the three equations are on the image
for this I wrote the following code:
>> syms vth vs id
>> eq1=-vth+0.5+0.4*((0.6+vs)^0.5-0.6^0.5);
>> eq2=-id+0.5*9*10^-4*(2.5-vs-vth)^2;
>> eq3=-vs+2*1000*id;
>> S=solve(eq1,eq2,eq3,vth,vs,id)
but there comes the error:
*??? Error using ==> mupadmex Error in MuPAD command: symbolic parameters not allowed in non-polynomial equations [numeric::solve]
Error in ==> sym.sym>sym.mupadmexnout at 2003 out = mupadmex(fcn,args{:});
Error in ==> solve at 76 [symvars,R] = mupadmexnout('mllib::solvefull',eqns,vars);*
–> i don't know what i've done wrong. my MATLAB version is 7.10.0(R2010a)
p.s. as for the code, I was trying to get a matrix S which contains the solutions of the three equations and I would've obtained the individual solutions by S.vth, S.id, S.vs
anyway… whats the problem here???

Best Answer

There are two solutions,
id = 0.173281035908099e-2, vs = 3.46562071816199, vth = .996696709643063
id = 0.426827703050411e-3, vs = .853655406100821, vth = .672431863201621
As to the problem: it appears to me you might have hit a limitation in your version of MuPAD. The square roots seem to be throwing it off. I do not have MuPAD to test with, so I do not know if there is a symbolic work-around.
Related Question