From: wang hua on
if you run the commands below in matlab2010a or 2009b, you can't find the ans. But in 2007a, you can get the ans.

syms R id ed positive;
eq1=R*id-ed;
solve(eq1,id)

anyone can tell me why? thx.
From: Walter Roberson on
wang hua wrote:
> if you run the commands below in matlab2010a or 2009b, you can't find
> the ans. But in 2007a, you can get the ans.
>
> syms R id ed positive;
> eq1=R*id-ed;
> solve(eq1,id)
>
> anyone can tell me why? thx.

It does look simple enough; I don't know why 2009b of 2010a would not solve
it. I would -try- the experiment of

solve(eq1,'id')

and see if that helped any.

2007a used the Maple symbolic engine. 2009b and 2010a use the MuPad symbolic
engine. There are some differences between the two, but there should not be a
difference for something that elementary.
From: wang hua on
I try this below, it get the answer. But the answer seems so strange, I don't know why.
>> syms a b c positive;
eq1=a*b-c;
solve(eq1,a)

ans =

{[c/b, 1]} intersect (0, Inf)

Walter Roberson <roberson(a)hushmail.com> wrote in message <hoqvua$a5f$2(a)canopus.cc.umanitoba.ca>...
> wang hua wrote:
> > if you run the commands below in matlab2010a or 2009b, you can't find
> > the ans. But in 2007a, you can get the ans.
> >
> > syms R id ed positive;
> > eq1=R*id-ed;
> > solve(eq1,id)
> >
> > anyone can tell me why? thx.
>
> It does look simple enough; I don't know why 2009b of 2010a would not solve
> it. I would -try- the experiment of
>
> solve(eq1,'id')
>
> and see if that helped any.
>
> 2007a used the Maple symbolic engine. 2009b and 2010a use the MuPad symbolic
> engine. There are some differences between the two, but there should not be a
> difference for something that elementary.
From: Walter Roberson on
wang hua wrote:
> I try this below, it get the answer. But the answer seems so strange, I
> don't know why.
>>> syms a b c positive;
> eq1=a*b-c;
> solve(eq1,a)
>
> ans =
>
> {[c/b, 1]} intersect (0, Inf)

I'm not familiar with MuPad, so I do not know what the 1 part is about.

The intersect of (0, Inf) would be there because you declared that a was
positive. I don't know why it doesn't figure out that if b and c are
both positive, that c/b must be positive too, but that just makes the
intersection component redundant and not wrong.
From: wang hua on
Walter Roberson <roberson(a)hushmail.com> wrote in message <horp42$hv0$1(a)canopus.cc.umanitoba.ca>...
> wang hua wrote:
> > I try this below, it get the answer. But the answer seems so strange, I
> > don't know why.
> >>> syms a b c positive;
> > eq1=a*b-c;
> > solve(eq1,a)
> >
> > ans =
> >
> > {[c/b, 1]} intersect (0, Inf)
>
> I'm not familiar with MuPad, so I do not know what the 1 part is about.
>
> The intersect of (0, Inf) would be there because you declared that a was
> positive. I don't know why it doesn't figure out that if b and c are
> both positive, that c/b must be positive too, but that just makes the
> intersection component redundant and not wrong.

thanks. Maybe I can't use the variable 'id' . I have tried this in matlab 2009b:
syms a id;
eq1=id-a;
solve(eq1,a)
ans =
id
>> solve(eq1,id)
Warning: Explicit solution could not be found.