On Aug. 26, 2008, erkenays wrote:
>Hi,There are 6 linear diff. eq. system below that I am dealing with.When I
>solve it, it return false.
>Does anyone know how to solve it? Thank you.
>
>
>denk1: 'diff(a(w),w,1)+q*b(w)=0
>denk2: 'diff(c(w),w,1)-b(w)-(1+phi^2)*q*e(w)/y+(phi^2*R^2*f(w)/y)=0
>denk3: 'diff(b(w),w,1)-c(w)-(1+phi^2)*q*d(w)/s+(phi^2*R^3*k*a(w)/s)=0
>denk4: 'diff(e(w),w,1)-d(w)=0
>denk5: 'diff(d(w),w,1)+e(w)-R*f(w)=0
>denk6: 'diff(f(w),w,1)-k*q*a(w)=0
>
>atvalue(b(w),w=0,0)
>atvalue(e(w),w=0,0)
>atvalue(f(w),w=0,0)
>
>solution: desolve([denk1,denk2,denk3,denk4,denk5,denk6],
>[a(w),b(w),c(w),d(w),e(w),f(w)])
>
------------------------------------------
Here is a solution for the special case that
we set the coefficients of the unknown
functions equal to 1. (Proof of Concept -
start simple ).
I have replaced w --> x as the independent
variable, and let "as" be the returned solution
as a function of x, "asp" its first derivative, etc.
I check the initial conditions and check
that the solutions satisfy the six given
first order linear homogeneous equations.
-------------------------------
(%i20) kill(all);
(%o0) done
(%i1) display2d : false$
(%i2) eqns:['diff(a(x), x) + b(x) = 0,
'diff(c(x), x) - b(x) - e(x) + f(x) = 0,
'diff(b(x), x) - c(x) - d(x) + a(x) = 0,
'diff(e(x), x) - d(x) = 0,
'diff(d(x), x) + e(x) - f(x) = 0,
'diff(f(x), x) - a(x) = 0 ]$
(%i3) solns : desolve( eqns, [a(x), b(x), c(x), d(x), e(x), f(x)] )$
(%i4) [as, bs, cs, ds, es, fs] : map( 'rhs, solns)$
(%i5) (asp : diff(as, x), bsp : diff(bs, x), csp : diff(cs, x),
dsp : diff(ds, x), esp : diff(es, x), fsp : diff(fs, x) )$
/* here we check initial conditions */
(%i6) ( subst(x=0, [as, asp, bs, bsp, cs, csp, ds, dsp, es, esp, fs, fsp]),
ratsimp(%%) );
(%o6) [a(0), -b(0), b(0), d(0) + c(0) - a(0), c(0),
-f(0) + e(0) + b(0), d(0), f(0) - e(0),
e(0), d(0), f(0), a(0)]
/* here we check that solutions satisfy
the given set of differential equations */
(%i7) ( [asp + bs, csp - bs - es + fs,
bsp - cs - ds + as, esp - ds, dsp + es - fs, fsp - as],
ratsimp(%%) );
(%o7) [0, 0, 0, 0, 0, 0]
/* finally, let's look at the solutions provided */
(%i8) as;
(%o8) -b(0)*sinh(sqrt(2)*x)/sqrt(2)-(d(0)+c(0)-a(0))*cosh(sqrt(2)*x)/2
+(d(0)+c(0)+a(0))/2
(%i9) bs;
(%o9) (d(0)+c(0)-a(0))*sinh(sqrt(2)*x)/sqrt(2)+b(0)*cosh(sqrt(2)*x)
(%i10) cs;
(%o10) 4*b(0)*sinh(sqrt(2)*x)/(3*sqrt(2))
+(2*d(0)+2*c(0)-2*a(0))*cosh(sqrt(2)*x)/3
-(3*f(0)-3*e(0)+b(0))*sin(x)/3-(2*d(0)-c(0)-2*a(0))*cos(x)/3
(%i11) ds;
(%o11) -b(0)*sinh(sqrt(2)*x)/(3*sqrt(2))-(d(0)+c(0)-a(0))*cosh(sqrt(2)*x)/6
+(3*f(0)-3*e(0)+b(0))*sin(x)/3
+(2*d(0)-c(0)-2*a(0))*cos(x)/3
+(d(0)+c(0)+a(0))/2
(%i12) es;
(%o12) -(d(0)+c(0)-a(0))*sinh(sqrt(2)*x)/(6*sqrt(2))
-b(0)*cosh(sqrt(2)*x)/6+(2*d(0)-c(0)-2*a(0))*sin(x)/3
-(3*f(0)-3*e(0)+b(0))*cos(x)/3+d(0)*x/2+c(0)*x/2+a(0)*x/2
+(2*f(0)+b(0))/2
(%i13) fs;
(%o13) (-d(0)-c(0)+a(0))*sinh(sqrt(2)*x)/(2*sqrt(2))
-b(0)*cosh(sqrt(2)*x)/2+d(0)*x/2+c(0)*x/2+a(0)*x/2+(2*f(0)+b(0))/2
As to the solutions if we change the numerical value of
the coefficients, try putting in some plausible
numbers and see what happens.
If things look ok put in some symbolic constants
c1, c2, ... and try using assume(c1 > 0) etc.
Ted Woollett