differential



On 03/22/13 11:46, Jaime Villate wrote:

> depends(y,x);
> eq1: a*x+b*y=p$
> eq2: a^2+b^2=1$
> eq3: diff (eq1,x)$
> eq4: first (eliminate  ([eq1,eq2,eq3], [a,b]));
> [edo1,edo2]: solve (eq4, diff(y,x));
>
> (%o7) ['diff(y,x,1) = (p*sqrt(y^2+x^2-p^2)+x*y)/(x^2-p^2),
>         'diff(y,x,1) = -(p*sqrt(y^2+x^2-p^2)-x*y)/(x^2-p^2)]
>

I think the solution must have a 'diff(y,x,2) term.

I cannot get either solution back to the original equation...

/* 9 circle tangent to the x axis */
problem_1_4_9():=(
   local(eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8,eq9),
   eq1:(x-h)^2+(y-k)^2=r^2,
   eq2:subst(k=r,eq1),
   depends(y,x),
   eq3:first(expand(eliminate([diff(eq2,x),diff(eq2,x,2)],[h,r])/2))=0,
   eq4:expand(eq3*2*'diff(y,x,2)),
   eq5:ode2(eq4,y,x),
   eq6:eq5[1]^2,
   eq7:subst(%k2=-h,eq6),
   eq8:lhs(eq1)-rhs(eq1)=lhs(eq6)-rhs(eq6),
   eq9:subst(%k2=-h,eq8)+(x-h)^2,
   print("Problem:  ",eq1),
   print("Solution: ",eq4),
   print("Check:    ",eq7)
   )$

eq1: a*x+b*y=p$
eq2: a^2+b^2=1$
eq3: diff (eq1,x)$
eq4: first (eliminate  ([eq1,eq2,eq3], [a,b]));
[edo1,edo2]: solve (eq4, diff(y,x));


How do I define variables local to a function.  As above,
problem_1_4_9();

changes the value of eq1..eq4 defined outside the function...

Tom Dean