# SECTION 3.2 # Example 1 de := diff(x(t),t) = .6 - 3*x(t)/500; NiM+JSNkZUcvLSUlZGlmZkc2JC0lInhHNiMlInRHRiwsJiQiIichIiIiIiIqJiMiIiQiJCsmRjFGKUYxRjA= dsolve({de,x(0)=0}); NiMvLSUieEc2IyUidEcsJiIkKyIiIiIqJkYpRiotJSRleHBHNiMsJCooIiIkRioiJCsmISIiRidGKkYzRipGMw== x := rhs(%); NiM+JSJ4RywmIiQrIiIiIiomRiZGJy0lJGV4cEc2IywkKigiIiRGJyIkKyYhIiIlInRHRidGMEYnRjA= conc := x/1000.; NiM+JSVjb25jRywmJCIrKysrKzUhIzUiIiIqJiRGJ0YoRiktJSRleHBHNiMsJCooIiIkRikiJCsmISIiJSJ0R0YpRjNGKUYz solve(conc = .05,t); NiMkIissYENiNiEiKA== Limit(x,t=infinity); NiMtJSZMaW1pdEc2JCwmIiQrIiIiIiomRidGKC0lJGV4cEc2IywkKigiIiRGKCIkKyYhIiIlInRHRihGMUYoRjEvRjIlKWluZmluaXR5Rw== value(%); NiMiJCsi # Example 2 x := 'x'; NiM+JSJ4R0Yk de := diff(x(t),t) = .6 - 5*x(t)/(1000+t); NiM+JSNkZUcvLSUlZGlmZkc2JC0lInhHNiMlInRHRiwsJiQiIichIiIiIiIqKCIiJkYxRilGMSwmIiUrNUYxRixGMUYwRjA= dsolve({de,x(0)=0}); NiMvLSUieEc2IyUidEcsKCIkKyIiIiIqJiIjNSEiIkYnRipGKiomIjMrKysrKysrKzVGKiwmIiUrNUYqRidGKiEiJkYt x := rhs(%); NiM+JSJ4RywoIiQrIiIiIiomIiM1ISIiJSJ0R0YnRicqJiIzKysrKysrKys1RicsJiIlKzVGJ0YrRichIiZGKg== conc := x/(1000.+t); NiM+JSVjb25jRyomLCgiJCsiIiIiKiYiIzUhIiIlInRHRihGKComIjMrKysrKysrKzVGKCwmIiUrNUYoRixGKCEiJkYrRigsJiRGMCIiIUYoRixGKEYr Limit(conc,t=infinity); NiMtJSZMaW1pdEc2JComLCgiJCsiIiIiKiYiIzUhIiIlInRHRilGKSomIjMrKysrKysrKzVGKSwmIiUrNUYpRi1GKSEiJkYsRiksJiRGMSIiIUYpRi1GKUYsL0YtJSlpbmZpbml0eUc= value(%); NiMkIisrKysrNSEjNQ== # Alternative solution using an integrating factor: x := 'x'; NiM+JSJ4R0Yk de1 := diff(x(t),t) + 5*x(t)/(1000+t) = .6; NiM+JSRkZTFHLywmLSUlZGlmZkc2JC0lInhHNiMlInRHRi0iIiIqKCIiJkYuRipGLiwmIiUrNUYuRi1GLiEiIkYuJCIiJ0Yz P := 5/(1000.+t); NiM+JSJQRywkKiYiIiYiIiIsJiQiJSs1IiIhRiglInRHRighIiJGKA== Int(P,t); NiMtJSRJbnRHNiQsJComIiImIiIiLCYkIiUrNSIiIUYpJSJ0R0YpISIiRilGLg== value(%); NiMsJComJCIiJiIiISIiIi0lI2xuRzYjLCYkIiUrNUYnRiglInRHRihGKEYo mu := exp(%); NiM+JSNtdUctJSRleHBHNiMsJComJCIiJiIiISIiIi0lI2xuRzYjLCYkIiUrNUYsRi0lInRHRi1GLUYt simplify(%); NiMqJCksJiQiJSs1IiIhIiIiJSJ0R0YpIiImRik= mu := %; NiM+JSNtdUcqJCksJiQiJSs1IiIhIiIiJSJ0R0YrIiImRis= de2 := mu*de1; NiM+JSRkZTJHLyomKSwmJCIlKzUiIiEiIiIlInRHRiwiIiZGLCwmLSUlZGlmZkc2JC0lInhHNiNGLUYtRiwqKEYuRixGM0YsLCZGKkYsRi1GLCEiIkYsRiwsJComJCIiJ0Y4RixGJ0YsRiw= #Check that LHS of de2 is the derivative of mu*x(t): diff(mu*x(t),t) - lhs(de2); NiMsKCooIiImIiIiKSwmJCIlKzUiIiFGJiUidEdGJiIiJUYmLSUieEc2I0YsRiZGJiomKUYoRiVGJi0lJWRpZmZHNiRGLkYsRiZGJiomRjJGJiwmRjNGJiooRiVGJkYuRiYsJkYqRiZGLEYmISIiRiZGJkY6 simplify(%); NiMkIiIhRiQ= # Solve de2 by integrating both sides: Int(rhs(de2),t); NiMtJSRJbnRHNiQsJComJCIiJyEiIiIiIiksJiQiJSs1IiIhRislInRHRisiIiZGK0YrRjE= value(%); NiMsJComJCIrKysrKzUhIzUiIiIpLCYkIiUrNSIiIUYoJSJ0R0YoIiInRihGKA== eq := mu*x = % + c; NiM+JSNlcUcvKiYpLCYkIiUrNSIiISIiIiUidEdGLCIiJkYsJSJ4R0YsLCYqJiQiKysrKys1ISM1RiwpRigiIidGLEYsJSJjR0Ys subs({t=0,x=0},eq); NiMvJCIiIUYlLCYkIisrKysrNSIiKSIiIiUiY0dGKg== solve(%,c); NiMkISsrKysrNSIiKQ== subs(c=%,eq); NiMvKiYpLCYkIiUrNSIiISIiIiUidEdGKiIiJkYqJSJ4R0YqLCYqJiQiKysrKys1ISM1RiopRiYiIidGKkYqJEYxIiIpISIi sol := x = rhs(%)/(1000.+t)^5; NiM+JSRzb2xHLyUieEcqJiwmKiYkIisrKysrNSEjNSIiIiksJiQiJSs1IiIhRi0lInRHRi0iIidGLUYtJEYrIiIpISIiRi1GLyEiJg== # This result is readily seen to be equivalent to the dsolve solution. # Example 3 sol := p = 3.93*exp(k*t); NiM+JSRzb2xHLyUicEcsJComJCIkJFIhIiMiIiItJSRleHBHNiMqJiUia0dGLCUidEdGLEYsRiw= subs({t=100,p=62.98},sol); NiMvJCIlKUgnISIjLCQqJiQiJCRSRiYiIiItJSRleHBHNiMsJComIiQrIkYrJSJrR0YrRitGK0Yr solve(%,k); NiMkIishenhUeCMhIzY= subs(k=%,sol); NiMvJSJwRywkKiYkIiQkUiEiIyIiIi0lJGV4cEc2IywkKiYkIishenhUeCMhIzZGKiUidEdGKkYqRipGKg== # Example 4 de := diff(p(t),t) = -A*p(t)*(p(t)-p1); NiM+JSNkZUcvLSUlZGlmZkc2JC0lInBHNiMlInRHRiwsJCooJSJBRyIiIkYpRjAsJkYpRjAlI3AxRyEiIkYwRjM= dsolve({de,p(0)=p0}); NiMvLSUicEc2IyUidEcqKCUjcDBHIiIiJSNwMUdGKiwoRilGKiomLSUkZXhwRzYjLCQqKCUiQUdGKkYrRipGJ0YqISIiRipGK0YqRioqJkYuRipGKUYqRjRGNA== subs(p0 = 3.93,%); NiMvLSUicEc2IyUidEcsJCooJCIkJFIhIiMiIiIlI3AxR0YtLChGKkYtKiYtJSRleHBHNiMsJCooJSJBR0YtRi5GLUYnRi0hIiJGLUYuRi1GLSomJEYrRixGLUYxRi1GN0Y3Ri0= sol := p = rhs(%);; NiM+JSRzb2xHLyUicEcsJCooJCIkJFIhIiMiIiIlI3AxR0YsLChGKUYsKiYtJSRleHBHNiMsJCooJSJBR0YsRi1GLCUidEdGLCEiIkYsRi1GLEYsKiYkRipGK0YsRjBGLEY3RjdGLA== subs({t=50,p=17.07},sol); NiMvJCIlMjwhIiMsJCooJCIkJFJGJiIiIiUjcDFHRissKEYpRisqJi0lJGV4cEc2IywkKigiI11GKyUiQUdGK0YsRishIiJGK0YsRitGKyomJEYqRiZGK0YvRitGNkY2Ris= eq1 := %; NiM+JSRlcTFHLyQiJTI8ISIjLCQqKCQiJCRSRigiIiIlI3AxR0YtLChGK0YtKiYtJSRleHBHNiMsJCooIiNdRi0lIkFHRi1GLkYtISIiRi1GLkYtRi0qJiRGLEYoRi1GMUYtRjhGOEYt subs({t=100,p=62.98},sol); NiMvJCIlKUgnISIjLCQqKCQiJCRSRiYiIiIlI3AxR0YrLChGKUYrKiYtJSRleHBHNiMsJCooIiQrIkYrJSJBR0YrRixGKyEiIkYrRixGK0YrKiYkRipGJkYrRi9GK0Y2RjZGKw== eq2 := %; NiM+JSRlcTJHLyQiJSlIJyEiIywkKigkIiQkUkYoIiIiJSNwMUdGLSwoRitGLSomLSUkZXhwRzYjLCQqKCIkKyJGLSUiQUdGLUYuRi0hIiJGLUYuRi1GLSomJEYsRihGLUYxRi1GOEY4Ri0= solve({eq1,eq2},{p1,A}); NiM8JC8lI3AxRyQiK19DInleIyEiKC8lIkFHJCIrS1QhKjQ3ISM4 subs(%,sol); NiMvJSJwRywkKiYkIitPSCsmKikqISIoIiIiLCYkIiQkUiEiI0YqKiYkIitfQ155Q0YpRiotJSRleHBHNiMsJComJCIrKm82ai8kISM2RiolInRHRiohIiJGKkYqRjtGKg==