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