Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: [Please Help] How to get coefficient list from a

  • To: mathgroup at smc.vnet.net
  • Subject: [mg114482] Re: [Please Help] How to get coefficient list from a
  • From: Bob Hanlon <hanlonr at cox.net>
  • Date: Sun, 5 Dec 2010 21:53:56 -0500 (EST)

n == 4;

u1 == Normal[
    Series[u[Ca[t], T[t]] - u[3.2066, 317.5529], {Ca[t], 3.2066,
      n}, {T[t], 317.5529, n}]] // Simplify;

d == {};

q[0] == {};

For[k == 1, k <== n - 1, k++,
 For[i == 0, i <== k, i++,
  p[i, k - i] == (i!*(k - i)!)*
    SeriesCoefficient[u1, {Ca[t], 3.2066, i}, {T[t], 317.5529, k - i}];
  q[k] == Append[q[k - 1], p[i, k - i]];
  d == Union[Join[d, q[k]]];]]

d == d /. 1. -> 1

{Derivative[0, 1][u][3.2066, 317.5529],
 Derivative[0, 2][u][3.2066, 317.5529],
   Derivative[0, 3][u][3.2066, 317.5529],
 Derivative[1, 0][u][3.2066, 317.5529],
   Derivative[1, 1][u][3.2066, 317.5529],
 Derivative[1, 2][u][3.2066, 317.5529],
   Derivative[2, 0][u][3.2066, 317.5529],
 Derivative[2, 1][u][3.2066, 317.5529],
   Derivative[3, 0][u][3.2066, 317.5529]}


d ==== Flatten[
   Table[D[u[x, y], {x, j}, {y, k}], {j, 0, n - 1}, {k, 1 - Sign[j],
     n - j - 1}], 1] /. {x -> 3.2066, y -> 317.5529}

True


Bob Hanlon

<kajornrungsilp.i at gmail.com> wrote:

==========================
>From previous equation, I want to know  if i want to change the value in
p[i,k-i] into sets of coefficient. How to do that?
Any hint is greatly appreciated.

kajornrungsilp.i at gmail.com> wrote:

> Thank you for all of your answer. I very appreciate you. but i have some
> question that i confuse in my code.
> My code is
> n == 4;
> u1 == Normal[
>   Series[u[Ca[t], T[t]] - u[3.2066, 317.5529], {Ca[t], 3.2066,
>     n}, {T[t], 317.5529, n}]]
> d == {};
> q[0] == {};
> For[k == 1 , k <== n - 1, k++,
>  For[i == 0 , i <== k , i++,
>   p[i, k - i] == (i!*(k - i)!)*
>     SeriesCoefficient[u1, {Ca[t], 3.2066, i}, {T[t], 317.5529, k - i}];
>   q[k] == Union[q[k - 1], p[i, k - i]];
>   d==Union [d,q[k]];
>   ]]d
> I want to know,why it doesn't collect the coefficient of my equation? what
> is something wrong in my code?
>
> Best Regard.
>
Bob Hanlon <hanlonr at cox.net> wrote:
>
> A simpler form:
>>
>> expr1 == a1 + a2*x + a3*y + a4*x^2 + a5*x*y + a6*y^2;
>>
>> myCoef[expr_, var_List] :==
>>  SortBy[List @@ expr1, Total[Exponent[#, var]] &] /. Thread[var -> 1]
>>
>> myCoef[expr1, {x, y}]
>>
>> {a1, a2, a3, a4, a5, a6}
>>
>>
>> Bob Hanlon
>>
>> ---- Bob Hanlon <hanlonr at cox.net> wrote:
>>
>> ==========================
>>
>> expr1 == a1 + a2*x + a3*y + a4*x^2 + a5*x*y + a6*y^2;
>>
>> Since you apparently want to ignore zero coefficients then this extracts
>> the non-zero coefficients
>>
>> (List @@ expr1) /. {x -> 1, y -> 1}
>>
>> {a1, a2, a4, a3, a5, a6}
>>
>> However, this standard ordering is different from yours. Presumably, you=
r
>> ordering is
>>
>> myCoef[expr_, var_List] :== Module[
>>   {coef == (List @@ expr) /. Thread[var -> 1]},
>>   Last /@ Sort[
>>     Cases[List @@ expr,
>>      a_?(MemberQ[coef, #] &)*z_. ->
>>       {Total[Exponent[z, var]], a}]]];
>>
>> myCoef[expr1, {x, y}]
>>
>> {a1, a2, a3, a4, a5, a6}
>>
>>
>> Bob Hanlon
>>
<kajornrungsilp.i at gmail.com> wrote:
>>
>> ==========================
>> Thank you for your answer. But I would like only the coefficient of series
>> equation in the form {a1, a2 , a3 ,a4,a5,a6} not to be in the form of
>> {{a1,
>> a3, a6}, {a2, a5, 0}, {a4, 0, 0}}. How to get there?
>> Best regard
>>
>>
>> 2010/12/3 Bob Hanlon <hanlonr at cox.net>
>>
>> >
>> > expr1 == a1 + a2*x + a3*y + a4*x^2 + a5*x*y + a6*y^2;
>> >
>> > coef == CoefficientList[expr, {x, y}]
>> >
>> > {{a1, a3, a6}, {a2, a5, 0}, {a4, 0, 0}}
>> >
>> > From example in documentation on CoefficientList
>> >
>> > expr2 == Fold[FromDigits[Reverse[#1], #2] &, coef, {x, y}]
>> >
>> > a1 + a2 x + a4 x^2 + (a3 + a5 x) y + a6 y^2
>> >
>> > expr1 ==== expr2 // Simplify
>> >
>> > True
>> >
>> >
>> > Bob Hanlon
>> >
>> > ---- Autt <kajornrungsilp.i at gmail.com> wrote:
>> >
>> > ==========================
>> > Greeting,
>> > I've a list issued from  multivariate series like : K=={a1+a2*x +a3*y
>> > +a4*x^2*+a5*x*y +a6*y^2 }
>> > I need to have {a1, a2 , a3 ,a4,a5,a6}
>> >
>> >  How to do that please?
>> > e.g.
>> > n == 3
>> > u == Normal[Series[x^4 + y^4 + x^2, {x, 5, n}, {y, 5, n}]]
>> > c[0] == {};
>> > d == {};
>> > q[0] == {};
>> > For[k == 1 , k <== n - 1, k++,
>> >  For[i == 0 , i <== k , i++,
>> >  p[i, k - i] ==
>> >   SeriesCoefficient[u, {x, 5, i}, {y, 5, k - i}];
>> >  q[k] == Union[{q[k - 1], {p[i, k - i]}}];
>> >  d == Union[d, q[k]];
>> >
>> >  Print[d];
>> >
>> > Best regard,


  • Prev by Date: Re: Replacement Rule with Sqrt in denominator
  • Next by Date: Re: How to short-circuit match failure?
  • Previous by thread: Re: [Please Help] How to get coefficient list from a
  • Next by thread: Re: [Please Help] How to get coefficient list from a