• Awards Season
  • Big Stories
  • Pop Culture
  • Video Games
  • Celebrities

Using the Standard Solitaire Game to Sharpen Your Problem-Solving Abilities

In today’s fast-paced world, problem-solving skills are more important than ever. Whether it’s in your personal life or professional career, the ability to think critically and find solutions is highly valued. One way to enhance these skills is by playing the standard solitaire game. While many people may see solitaire as a simple card game, it actually offers numerous benefits for improving problem-solving abilities. In this article, we will explore how playing the standard solitaire game can help sharpen your problem-solving skills.

Enhancing Strategic Thinking

Playing the standard solitaire game requires strategic thinking and planning ahead. As you lay out your cards and make moves, you must consider various possibilities and anticipate future moves. This process encourages you to analyze different scenarios and make decisions based on potential outcomes.

Furthermore, solitaire also teaches you the importance of prioritization. You need to prioritize which cards to move first and which ones to leave behind. This skill translates directly into real-life situations where you must prioritize tasks or actions based on their importance or urgency.

By regularly engaging in strategic thinking while playing solitaire, you can develop a more analytical mindset that will benefit you in all areas of life.

Developing Patience

Patience is a virtue that can greatly contribute to effective problem-solving. In the standard solitaire game, patience is key as success often requires multiple rounds of trial and error before finding the right solution.

The process of patiently trying different moves and experimenting with various strategies teaches valuable lessons about persistence and resilience. It trains your mind not to give up easily when faced with challenges but instead motivates you to keep trying until you find a solution.

Developing patience through playing solitaire can be a valuable asset when faced with complex problems that require time and perseverance to solve effectively.

Making Skills

In solitaire, every move you make is a decision that can impact the outcome of the game. The ability to make informed decisions quickly is crucial for success. By playing the standard solitaire game regularly, you can improve your decision-making skills.

As you become more experienced in solitaire, you will start recognizing patterns and developing strategies that maximize your chances of winning. This process trains your brain to analyze information efficiently and make decisions based on logical reasoning.

Moreover, solitaire also teaches you to evaluate risks and rewards. Some moves may seem appealing in the short term but could lead to unfavorable outcomes later on. Learning to assess potential risks and rewards helps you make better decisions not only in the game but also in real-life situations where critical thinking is required.

Enhancing Concentration and Focus

Playing solitaire requires concentration and focus as you need to pay attention to every card on the table and track their movements. Distractions can lead to mistakes that could cost you the game.

Regularly engaging in solitaire can help improve your ability to concentrate for extended periods. This skill is transferable to various areas of life where focus is necessary, such as work tasks or studying.

Additionally, solitaire can serve as a form of meditation by providing a momentary escape from daily stressors. It allows you to clear your mind, focus solely on the game at hand, and recharge your mental energy.

The standard solitaire game offers more than just entertainment; it provides an opportunity to enhance problem-solving abilities through strategic thinking, patience development, improved decision-making skills, and enhanced concentration/focus.

By incorporating regular sessions of solitaire into your routine, you can sharpen these essential skills that are valuable in both personal and professional settings. So next time you find yourself with some free time or need a break from work-related tasks, consider playing a round of solitaire – it might just give your problem-solving abilities a boost.

This text was generated using a large language model, and select text has been reviewed and moderated for purposes such as readability.


solve a boundary value problem

  • Practice and Assignment problems are not yet written. As time permits I am working on them, however I don't have the amount of free time that I used to so it will take a while before anything shows up here.
  • Show all Solutions/Steps/ etc.
  • Hide all Solutions/Steps/ etc.
  • BVPs & Fourier Series Introduction
  • Eigenvalues and Eigenfunctions
  • Higher Order Differential Equations
  • Partial Differential Equations
  • Calculus II
  • Calculus III
  • Differential Equations
  • Algebra & Trig Review
  • Common Math Errors
  • Complex Number Primer
  • How To Study Math
  • Cheat Sheets & Tables
  • MathJax Help and Configuration
  • Notes Downloads
  • Complete Book
  • Practice Problems Downloads
  • Problems not yet written.
  • Assignment Problems Downloads
  • Other Items
  • Get URL's for Download Items
  • Print Page in Current Form (Default)
  • Show all Solutions/Steps and Print Page
  • Hide all Solutions/Steps and Print Page

Section 8.1 : Boundary Value Problems

Before we start off this section we need to make it very clear that we are only going to scratch the surface of the topic of boundary value problems. There is enough material in the topic of boundary value problems that we could devote a whole class to it. The intent of this section is to give a brief (and we mean very brief) look at the idea of boundary value problems and to give enough information to allow us to do some basic partial differential equations in the next chapter.

Now, with that out of the way, the first thing that we need to do is to define just what we mean by a boundary value problem (BVP for short). With initial value problems we had a differential equation and we specified the value of the solution and an appropriate number of derivatives at the same point (collectively called initial conditions). For instance, for a second order differential equation the initial conditions are,

With boundary value problems we will have a differential equation and we will specify the function and/or derivatives at different points, which we’ll call boundary values. For second order differential equations, which will be looking at pretty much exclusively here, any of the following can, and will, be used for boundary conditions.

As mentioned above we’ll be looking pretty much exclusively at second order differential equations. We will also be restricting ourselves down to linear differential equations. So, for the purposes of our discussion here we’ll be looking almost exclusively at differential equations in the form,

along with one of the sets of boundary conditions given in \(\eqref{eq:eq1}\) – \(\eqref{eq:eq4}\). We will, on occasion, look at some different boundary conditions but the differential equation will always be on that can be written in this form.

As we’ll soon see much of what we know about initial value problems will not hold here. We can, of course, solve \(\eqref{eq:eq5}\) provided the coefficients are constant and for a few cases in which they aren’t. None of that will change. The changes (and perhaps the problems) arise when we move from initial conditions to boundary conditions.

One of the first changes is a definition that we saw all the time in the earlier chapters. In the earlier chapters we said that a differential equation was homogeneous if \(g\left( x \right) = 0\) for all \(x\). Here we will say that a boundary value problem is homogeneous if in addition to \(g\left( x \right) = 0\) we also have \({y_0} = 0\) and \({y_1} = 0\)(regardless of the boundary conditions we use). If any of these are not zero we will call the BVP nonhomogeneous .

It is important to now remember that when we say homogeneous (or nonhomogeneous) we are saying something not only about the differential equation itself but also about the boundary conditions as well.

The biggest change that we’re going to see here comes when we go to solve the boundary value problem. When solving linear initial value problems a unique solution will be guaranteed under very mild conditions. We only looked at this idea for first order IVP’s but the idea does extend to higher order IVP’s. In that section we saw that all we needed to guarantee a unique solution was some basic continuity conditions. With boundary value problems we will often have no solution or infinitely many solutions even for very nice differential equations that would yield a unique solution if we had initial conditions instead of boundary conditions.

Before we get into solving some of these let’s next address the question of why we’re even talking about these in the first place. As we’ll see in the next chapter in the process of solving some partial differential equations we will run into boundary value problems that will need to be solved as well. In fact, a large part of the solution process there will be in dealing with the solution to the BVP. In these cases, the boundary conditions will represent things like the temperature at either end of a bar, or the heat flow into/out of either end of a bar. Or maybe they will represent the location of ends of a vibrating string. So, the boundary conditions there will really be conditions on the boundary of some process.

So, with some of basic stuff out of the way let’s find some solutions to a few boundary value problems. Note as well that there really isn’t anything new here yet. We know how to solve the differential equation and we know how to find the constants by applying the conditions. The only difference is that here we’ll be applying boundary conditions instead of initial conditions.

Okay, this is a simple differential equation to solve and so we’ll leave it to you to verify that the general solution to this is,

Now all that we need to do is apply the boundary conditions.

The solution is then,

We mentioned above that some boundary value problems can have no solutions or infinite solutions we had better do a couple of examples of those as well here. This next set of examples will also show just how small of a change to the BVP it takes to move into these other possibilities.

We’re working with the same differential equation as the first example so we still have,

Upon applying the boundary conditions we get,

So, in this case, unlike previous example, both boundary conditions tell us that we have to have \({c_1} = - 2\) and neither one of them tell us anything about \({c_2}\). Remember however that all we’re asking for is a solution to the differential equation that satisfies the two given boundary conditions and the following function will do that,

In other words, regardless of the value of \({c_2}\) we get a solution and so, in this case we get infinitely many solutions to the boundary value problem.

Again, we have the following general solution,

This time the boundary conditions give us,

In this case we have a set of boundary conditions each of which requires a different value of \({c_1}\) in order to be satisfied. This, however, is not possible and so in this case have no solution .

So, with Examples 2 and 3 we can see that only a small change to the boundary conditions, in relation to each other and to Example 1, can completely change the nature of the solution. All three of these examples used the same differential equation and yet a different set of initial conditions yielded, no solutions, one solution, or infinitely many solutions.

Note that this kind of behavior is not always unpredictable however. If we use the conditions \(y\left( 0 \right)\) and \(y\left( {2\pi } \right)\) the only way we’ll ever get a solution to the boundary value problem is if we have,

for any value of \(a\). Also, note that if we do have these boundary conditions we’ll in fact get infinitely many solutions.

All the examples we’ve worked to this point involved the same differential equation and the same type of boundary conditions so let’s work a couple more just to make sure that we’ve got some more examples here. Also, note that with each of these we could tweak the boundary conditions a little to get any of the possible solution behaviors to show up ( i.e. zero, one or infinitely many solutions).

The general solution for this differential equation is,

Applying the boundary conditions gives,

In this case we get a single solution,

Here the general solution is,

and we’ll need the derivative to apply the boundary conditions,

This is not possible and so in this case have no solution .

All of the examples worked to this point have been nonhomogeneous because at least one of the boundary conditions have been non-zero. Let’s work one nonhomogeneous example where the differential equation is also nonhomogeneous before we work a couple of homogeneous examples.

The complementary solution for this differential equation is,

Using Undetermined Coefficients or Variation of Parameters it is easy to show (we’ll leave the details to you to verify) that a particular solution is,

The general solution and its derivative (since we’ll need that for the boundary conditions) are,

The boundary conditions then tell us that we must have \({c_2} = \frac{5}{3}\) and they don’t tell us anything about \({c_1}\) and so it can be arbitrarily chosen. The solution is then,

and there will be infinitely many solutions to the BVP.

Let’s now work a couple of homogeneous examples that will also be helpful to have worked once we get to the next section.

So \({c_2}\) is arbitrary and the solution is,

and in this case we’ll get infinitely many solutions.

The general solution in this case is,

In this case we found both constants to be zero and so the solution is,

In the previous example the solution was \(y\left( x \right) = 0\). Notice however, that this will always be a solution to any homogenous system given by \(\eqref{eq:eq5}\) and any of the (homogeneous) boundary conditions given by \(\eqref{eq:eq1}\) – \(\eqref{eq:eq4}\). Because of this we usually call this solution the trivial solution . Sometimes, as in the case of the last example the trivial solution is the only solution however we generally prefer solutions to be non-trivial. This will be a major idea in the next section.

Before we leave this section an important point needs to be made. In each of the examples, with one exception, the differential equation that we solved was in the form,

The one exception to this still solved this differential equation except it was not a homogeneous differential equation and so we were still solving this basic differential equation in some manner.

So, there are probably several natural questions that can arise at this point. Do all BVP’s involve this differential equation and if not why did we spend so much time solving this one to the exclusion of all the other possible differential equations?

The answers to these questions are fairly simple. First, this differential equation is most definitely not the only one used in boundary value problems. It does however exhibit all of the behavior that we wanted to talk about here and has the added bonus of being very easy to solve. So, by using this differential equation almost exclusively we can see and discuss the important behavior that we need to discuss and frees us up from lots of potentially messy solution details and or messy solutions. We will, on occasion, look at other differential equations in the rest of this chapter, but we will still be working almost exclusively with this one.

There is another important reason for looking at this differential equation. When we get to the next chapter and take a brief look at solving partial differential equations we will see that almost every one of the examples that we’ll work there come down to exactly this differential equation. Also, in those problems we will be working some “real” problems that are actually solved in places and so are not just “made up” problems for the purposes of examples. Admittedly they will have some simplifications in them, but they do come close to realistic problem in some cases.

Boundary value problem

Curator: Ian Gladwell

Eugene M. Izhikevich

Srivas Chennu

Lawrence F. Shampine

Tobias Denninger

Graeme Fairweather

Skip Thompson

Dr. Ian Gladwell , Department of Mathematics, Southern Methodist University, Dallas, TX

A Boundary value problem is a system of ordinary differential equations with solution and derivative values specified at more than one point. Most commonly, the solution and derivatives are specified at just two points (the boundaries) defining a two-point boundary value problem.


A two-point boundary value problem (BVP) of total order \(n\) on a finite interval \([a,b]\) may be written as an explicit first order system of ordinary differential equations (ODEs) with boundary values evaluated at two points as \[\tag{1} y'(x)=f(x, y(x)), \,\, x\in(a,b), \quad g(y(a),y(b))=0\]

Here, \(y,f,g \in R^n\) and the system is called explicit because the derivative \(y^\prime\) appears explicitly. The \(n\) boundary conditions defined by \(g\) must be independent; that is, they cannot be expressed in terms of each other (if \(g\) is linear the boundary conditions must be linearly independent).

In practice, most BVPs do not arise directly in the form ( 1 ) but instead as a combination of equations defining various orders of derivatives of the variables which sum to \(n\ .\) In an explicit BVP system, the boundary conditions and the right hand sides of the ordinary differential equations (ODEs) can involve the derivatives of each solution variable up to an order one less than the highest derivative of that variable appearing on the left hand side of the ODE defining the variable. To write a general system of ODEs of different orders in the form ( 1 ), we can define \(y\) as a vector made up of all the solution variables and their derivatives up to one less than the highest derivative of each variable, then add trivial ODEs to define these derivatives. See the section on initial value problems for an example of how this is achieved. See also Ascher et al.(1995) who show techniques for rewriting boundary value problems of various orders as first order systems. Such rewritten systems may not be unique and do not necessarily provide the most efficient approach for computational solution.

The words two-point refer to the fact that the boundary condition function \(g\) is evaluated at the solution at the two interval endpoints \(a\) and \(b\) unlike for initial value problems (IVPs) where the \(n\) initial conditions are all evaluated at a single point. Occasionally, problems arise where the function \(g\) is also evaluated at the solution at other points in \((a,b)\ .\) In these cases, we have a multipoint BVP. As shown in Ascher et al. (1995), a multipoint problem may be converted to a two-point problem by defining separate sets of variables for each subinterval between the points and adding boundary conditions which ensure continuity of the variables across the whole interval. Like rewriting the original BVP in the compact form ( 1 ), rewriting a multipoint problem as a two-point problem may not lead to a problem with the most efficient computational solution.

Most practically arising two-point BVPs have separated boundary conditions where the function \(g\) may be split into two parts (one for each endpoint): \[g_a(y(a))=0,\quad g_b(y(b))=0.\] Here, \(g_a\in R^s\) and \(g_b\in R^{n-s}\) for some value \(s\) with \(1<s<n\) and where each of the vector functions \(g_a\) and \(g_b\) are independent. However, there are well-known, commonly arising, boundary conditions which are not separated; for example, consider periodic boundary conditions which, for a problem written in the form of equation ( 1 ), are \[y(a)-y(b)=0.\]

Existence and uniqueness

Questions of existence and uniqueness for BVPs are much more difficult than for IVPs. Indeed, there is no general theory. However, there is a vast literature on individual cases; see Bernfeld and Lakshmikantham (1974) for a survey of a variety of techniques that may be used. Consider the IVP \[\tag{2} y'(x)=f(x, y(x)), \,\, y(a)=s \]

corresponding to the ODE in ( 1 ). If this IVP has a solution for all choices of initial vectors \(s\) then the existence of a solution to ( 1 ) hinges on the solvability of the nonlinear system of equations \[\tag{3} g(s, y(b;s))=0\]

where \(y(b;s)\) is the solution of the IVP ( 2 ) evaluated at \(x=b\) for the initial value \(y(a)=s\ .\) If there is a solution then it is the unique solution (among solutions of this type) if the nonlinear system \(g(s, y(b;s))=0\) has just one solution \(s\ .\)

For linear BVPs, where the ODEs and boundary conditions are both linear, the equation \(g(s, y(b;s))=0\) is a linear system of algebraic equations. Hence, generally there will be none, one or an infinite number of solutions, analogously to the situation with systems of linear algebraic equations.

In addition to the possibilities for linear problems, nonlinear problems can also have a finite number of solutions. Consider the following simple model of the motion of a projectile with air resistance: \[\tag{4} \begin{array}{rcl} y^\prime&=&\tan(\phi),\\ v^\prime&=&-\frac{g}{v}\tan(\phi) - \nu v\sec(\phi),\\ \phi^\prime&=&-\frac{g}{v^2}. \end{array} \]

These equations may be viewed as describing the planar motion of a projectile fired from a cannon. Here, \(y\) is the height of the projectile above the level of the cannon, \(v\) is the velocity of the projectile, and \(\phi\) is the angle of the trajectory of the projectile with the horizontal. The independent variable \(x\) measures the horizontal distance from the cannon. The constant \(\nu\) represents air resistance (friction) and \(g\) is the appropriately scaled gravitational constant. This model neglects three–dimensional effects such as cross winds and the rotation of the projectile. The initial height is \(y(0)=0\) and the muzzle velocity \(v(0)\) for the cannon is fixed. The standard projectile problem is to choose the initial angle of the cannon and hence of the projectile, \(\phi(0)\ ,\) so that the projectile will hit a target at the same height as the cannon at a distance \(x=x_{end}\ ;\) that is, we require \(y(x_{end})=0\ .\) Altogether the boundary conditions are \[ y(0)=y(x_{end})=0, \quad v(0)\,\, {\rm given.} \] Does this BVP have a solution? Physical intuition suggests that it certainly does not for \(x_{end}\) beyond the range of the cannon for the fixed muzzle velocity \(v(0)\ .\) On the other hand, if \(x_{end}\) is small enough, we do expect a solution, but is there only one? To see that there is not, consider the case when the target is very close to the cannon. We can hit the target by shooting with an almost flat trajectory or by shooting high and dropping the projectile mortar-like on the target. That is, there are (at least) two solutions that correspond to initial angles \(\phi(0)= \phi_{low} > 0\) and \(\phi(0)= \phi_{high} < \pi/2\ .\) It turns out that there are exactly two solutions; see for an example.

Now, let \(x_{end}\) increase. There are still two solutions, but the larger the value of \(x_{end}\ ,\) the smaller the angle \(\phi_{high}\) and the larger the angle \(\phi_{low}\ .\) If we keep increasing \(x_{end}\ ,\) eventually we reach the maximum range with the given muzzle velocity. At this distance there is just one solution;, that is, \(\phi_{low} = \phi_{high}\ .\) In summary, there is a critical value of \(x_{end}\) for which there is exactly one solution. If \(x_{end}\) is smaller than this critical value, there are exactly two solutions and if it is larger, there is no solution.

Shooting or marching methods

The approach to proving existence exemplified by the projectile model suggests a computational method of solution. This is to compute the unknown initial value \(\phi(0)\) to satisfy the nonlinear equation \(y(x_{end};\phi(0))=0\ .\) This approach requires the (computational) solution of an IVP for the ODEs for each value of the angle \(\phi(0)\) attempted. Also, the nonlinear equation may be solved by any suitable method. Since there are quality codes for both tasks this suggests an approach that can be useful in practice. Physical intuition suggests exploiting the relationship between the angle chosen and the range achieved in a bisection-like algorithm but, in more complex cases, such simple physical relationships are usually not available and a general purpose method such as a Newton iteration is often used. The shooting method can be very successful on simple problems such as the projectile problem. It can be extended easily to suggest a method of solution for almost any boundary value problem based on solving equation ( 3 ) and it has been automated in many pieces of mathematical software. However, its success depends on a number of factors the most important of which is the stability of the initial value problem that must be solved at each iteration. (An ODE problem is stable if a small change to the ODE and/or the the initial or boundary conditions leads to a small change in the solution.) Unfortunately, it is the case that for many stable boundary value problems the corresponding initial value problems (beginning from either endpoint and integrating towards the other endpoint) are insufficiently stable for shooting to succeed. So, shooting methods are not computationally suitable for the whole range of practical boundary value problems, particularly those on very long or infinite intervals. A second difficulty, sometimes interconnected with the aforementioned stability problem, is that methods such as Newton iteration for solving equation ( 3 ) may require a far more accurate initial estimate for the initial value \(s\) than is readily available.

Infinite intervals

Many ODE BVPs arise from the analysis of partial differential equations through the computation of similarity solutions or via perturbation methods . These problems are often defined on semi-infinite ranges. For example, the Blasius problem \[\tag{5} f'''=\frac{f^{\prime\prime}f}{2}, \,\,\,f(0)=f'(0)=0, \, f'(\infty)=1 \]

arises from a similarity solution of partial differential equations describing fluid flow over a flat plate. Of course, the boundary condition at infinity is asymptotic. It should be read as \(f'(x)\rightarrow 1\) as \(x\rightarrow\infty\ ,\) and it implies that \(f(x)\sim x+C\) as \(x\rightarrow\infty\) where the constant \(C\) is a priori unknown.

This problem is easy to solve computationally — shooting from the origin and using a standard nonlinear equation solver works without difficulty. Of course, we can't integrate the equations to infinity but we can replace the boundary condition at infinity by a corresponding one at a finite point, \(L\ ,\) and that point \(L\) need not be chosen very large because the asymptotic expansion of the solution has \(f(x)\sim x+C\) exponentially fast as \(x\rightarrow\infty\ .\) So, for example, using the boundary condition \(f'(L)=1\) with \(L=10\) provides a quite accurate solution. There are no fast increasing solutions to the equation near the desired solution so there is no unstable growth of computational solutions on quite long ranges of integration as long as the guess for the unknown initial value \(f''(0)\) is not chosen too far away from the correct value.

In the Blasius problem, the location and type of boundary conditions are determined physically and give us a stable (well-conditioned) problem. In general, matters are more complicated though physical principles remain an essential guide. For simplicity of exposition (and understanding) consider the linear problem \[\tag{6} y^{\prime\prime\prime} + 2y^{\prime\prime}-y^\prime -2y=0. \]

Its general solution is \[y(x)=Ae^{x}+Be^{-x}+Ce^{-2x}.\] Note that there are three components of the solution, two that decay as \(x\) increases from the origin towards infinity and one that grows. Suppose that we solve this equation on the interval \([0,\infty)\) with boundary conditions \[y(0)=1, \; y^\prime(0) =1, \; y(\infty)= 0. \] The last boundary condition implies that \(A = 0\ .\) Then, the other boundary conditions imply that \(B=3\) and \(C=-2\ .\) So, there is a unique solution of this BVP. On the other hand, if the boundary conditions are \[\tag{7} y(0)=1, \; y(\infty) = 0, \; y^\prime(\infty)= 0,\]

the boundary condition \(y(\infty) = 0\) again implies that \(A=0\ ,\) but now the third condition places no constraint on the coefficients, and the remaining condition tells us only that \(C = 1 - B\ ,\) so any value of \(B\) results in a solution; that is, this BVP has infinitely many solutions. This problem provides an example of the requirements of exponential dichotomy ; Ascher et al. (1995) and Mattheij and Molenaar (2002) discuss these requirements in detail. For a problem to be well-posed the boundary conditions must be set appropriately. For the simple equation ( 6 ), if the boundary conditions are separated, essentially we must have two boundary conditions at the origin and one at infinity matching the two decaying and one increasing (towards infinity) basis functions in the solution.

If a BVP with boundary conditions at infinity is not well–posed, it is natural to expect numerical difficulties when those boundary conditions are imposed at a large but finite point \(L\) even though, in this case, a solution may always be defined. Suppose then that we solve the equation ( 6 ) with boundary conditions \[ y(0)=1, \; y(L) = 0, \; y^\prime(L)= 0\] replacing ( 7 ). For large values of \(L\ ,\) the system of linear equations for the coefficients \(A\ ,\) \(B\ ,\) and \(C\) in the general solution is extremely ill–conditioned reflecting the poor stability ( conditioning ) of equation ( 6 ) with boundary conditions ( 7 ); see Shampine et al. (2003) for more details.

Numerical methods

We described shooting methods above and we explained there that there are inherent problems in this approach. These problems may be overcome, at least partially, using variants on the shooting method which broadly come under the heading of multiple shooting ; see Ascher and Petzold (1998).

Most general purpose software packages for BVPs are based on global methods which fall into two related categories. The first is finite differences where a mesh is defined on the interval \([a,b]\) and the derivative in ( 1 ) is replaced by a difference approximation at each mesh point; see Ascher et al. (1995) and Keller (1992). The resulting difference equations plus the boundary conditions give a set of algebraic equations for the solution on the mesh. These equations are generally nonlinear but are linear when the differential equations and boundary conditions are both linear. To achieve a user-specified error the software generally adjusts the mesh placement using local error estimates based on higher order differencing involving techniques such as deferred correction; see Ascher and Petzold (1998) and Shampine et al. (2003).

A second global approach is to approximate the solution defined in terms of a basis for a linear space of functions usually defined piecewise on a mesh and to collocate this approximate solution. (In collocation we substitute the approximate solution in the system of ODEs then require the ODE system to be satisfied exactly at each collocation point. The number of collocation points plus the number of boundary conditions must equal the number of unknown coefficients in the approximate solution; that is, they must equal the dimension of the linear space.) The most common choice of approximation is a linear space of splines. For a given linear space, the collocation points must be placed judiciously to achieve optimal accuracy. The error is again controlled by adjusting the mesh spacing using local error estimates involving approximate solutions of varying orders of accuracy; see Ascher et al. (1995), Ascher and Petzold (1998) and Mattheij and Molenaar (2002).

Choosing a spline basis for collocation (or more or less equivalently using certain types of Runge-Kutta formulas on the mesh) leads to a nonlinear system which must be solved iteratively. At each iteration we must solve a structured linear system of equations. When the boundary conditions are separated, the system is almost block diagonal . Similarly structured systems arise from finite difference approximations and also from multiple shooting techniques. Because of the great practical importance of this type of linear algebra problem, significant effort has been devoted to developing stable algorithms which minimize storage and maximize efficiency; see Amodio et al. (2000). The case of nonseparated boundary conditions leads to a similarly structured system whose solution poses potentially greater stability difficulties.

Sturm–Liouville eigenproblems

Another type of BVP that arises in the analytical solution of certain linear partial differential equations is the Sturm–Liouville eigenproblem. In its simplest form this is a scalar self-adjoint linear second order ODE BVP \[\tag{8} -(p(x)y^\prime(x))^\prime+q(x)y(x)=\lambda r(x)y(x),\quad x\in(a,b), \quad y(a)=y(b)=0.\]

Here, the parameter \(\lambda\ ,\) an eigenvalue, is to be determined such that the BVP ( 8 ) has a nontrivial (not identically zero) solution. There are broad analogies here with the generalized algebraic eigenproblem \(Ax=\lambda Bx\) where, depending on the the properties of the matrices \(A\) and \(B\ ,\) various distributions of the finite number of eigenvalues \(\lambda\) are possible. In the case of the BVP ( 8 ), for simple cases there are a countable number of number of eigenvalues each with a corresponding solution \(y(x)\) (an eigenfunction). So, for example, as shown in Zettl (2005), if \(p(x), q(x)\) and \(r(x)\) are sufficiently smooth and \(p(x),\, r(x)>0\) on \([a,b]\) then the eigenvalues are real and distinct, and may be ordered \(0<\lambda_0<\lambda_1<\lambda_2<\ldots\) defining a discrete spectrum. The eigenfunction \(y_n(x)\) corresponding to \(\lambda_n\) has \(n\) zeros in \((a,b)\) and the set of eigenfunctions \(\{y_i(x)\}_{i=0}^\infty\) is linearly independent. If we relax the smoothness conditions on the coefficients \(p,q\) and \(r\ ,\) and/or permit these functions to take on a wider range of values, many different phenomena are observed from doubling of the eigenvalues to the occurrence of continuous spectra; see Zettl (2005) for details.

ODE eigenvalue problems can be solved using a general-purpose code shooting code that treats an eigenvalue as an unknown parameter. However, with such a code one can only hope to compute an eigenvalue close to a guess. Specialized codes are much more efficient and allow you to be sure of computing a specific eigenvalue; see Pryce (1993) for a survey. Numerical methods for Sturm–Liouville eigenproblems that have been implemented in software include finite difference and finite element discretizations which each lead to generalized algebraic eigenproblems where approximations to a number of the lower eigenvalues are available simultaneously. Other methods popularized by Pruess approximate the ODE eigenproblem by another where the coefficients \(p, q\) and \(r\) are replaced by piecewise constants; this results in a set of problems which may each be solved analytically, again producing approximations to a number of the lower eigenvalues. Finally, shooting methods are usually implemented using a scaled Prufer transformation, \(pu^\prime=\sqrt{S}r\cos(\theta), \,\, u=\frac{r\sin(\theta)}{\sqrt{S}}\) where \(S\) is a scaling function, see Pryce (1993); \(S=1\) gives the standard Prufer transformation. The transformation leads to a pair of nonlinear ODEs for \(r\) and \(\theta\) where the ODE for \(\theta\) does not depend on \(r\) so may be solved alone. More directly important, the boundary conditions in problem ( 8 ) are replaced by \(\theta(a,\lambda_k)=0,\,\, \theta(b,\lambda_k)=k\pi\) which provide the basis for a shooting method where each eigenvalue may be determined by the solution of a single nonlinear algebraic equation.

  • P. Amodio, J.R. Cash, G. Roussos, R.W. Wright, G. Fairweather, I. Gladwell, G.L. Kraut and M. Paprzycki, Almost block diagonal linear systems: sequential and parallel solution techniques, and applications, Numer. Lin. Algebra Applics. 7 (2000) 275-317.
  • U.M. Ascher, R.M.M. Mattheij, R.D. Russell, Numerical Solution of Boundary Value Problems for Ordinary Differential Equations , SIAM Classics in Applied Mathematics 13, SIAM, Philadelphia, PA, 1995.
  • U.M. Ascher and L.R. Petzold, Computer Methods for Ordinary Differential Equations and Differential Algebraic Equations , SIAM, Philadelphia, PA, 1998.
  • S.R. Bernfeld and V. Lakshmikantham, An Introduction to Nonlinear Boundary Value Problems , Mathematics in Science and Engineering 109, Academic Press, New York, NY, 1974.
  • H.B. Keller, Numerical Methods for Two-Point Boundary-Value Problems , Dover, New York, NY, 1992.
  • R.M.M. Mattheij and J. Molenaar, Ordinary Differential Equations in Theory and Practice , SIAM Classics in Applied Mathematics 43, SIAM, Philadelphia, PA, 2002.
  • J.D. Pryce, Numerical Solution of Sturm-Liouville Problems , Clarendon Press, Oxford, UK, 1993.
  • L.F. Shampine, I. Gladwell and S. Thompson, Solving ODEs with MATLAB , Cambridge University Press, Cambridge, UK, 2003.
  • A. Zettl, Sturm-Liouville Theory , Mathematical Surveys and Monographs 121, AMS, Providence, RI, 2005.

Internal references

  • Nestor A. Schmajuk (2008) Classical conditioning . Scholarpedia , 3(3):2316.
  • James Meiss (2007) Dynamical systems . Scholarpedia, 2(2):1629.
  • Lawrence F. Shampine and Skip Thompson (2007) Initial value problems . Scholarpedia, 2(3):2861.
  • Kendall E. Atkinson (2007) Numerical analysis . Scholarpedia, 2(8):3163.
  • John Butcher (2007) Runge-Kutta methods . Scholarpedia, 2(9):3147.
  • Philip Holmes and Eric T. Shea-Brown (2006) Stability . Scholarpedia, 1(10):1838.

Recommended reading

H.B. Keller, Numerical Methods for Two-Point Boundary-Value Problems, Dover, New York, NY, 1992.

External links

Ian Gladwell's website

  • Numerical Analysis
  • Dynamical Systems
  • Differential Equations

Personal tools

  • View source
  • View history
  • Propose a new article
  • Instructions for Authors
  • Random article

Focal areas

  • Astrophysics
  • Celestial mechanics
  • Computational neuroscience
  • Computational intelligence
  • Dynamical systems
  • More topics
  • Recently published articles
  • Recently sponsored articles
  • Recent changes
  • All articles
  • List all Curators
  • List all users
  • Scholarpedia Journal
  • What links here
  • Related changes
  • Special pages
  • Printable version
  • Permanent link

solve a boundary value problem

  • This page was last modified on 21 October 2011, at 04:05.
  • This page has been accessed 251,505 times.
  • "Boundary value problem" by Ian Gladwell is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License . Permissions beyond the scope of this license are described in the Terms of Use
  • Privacy policy
  • About Scholarpedia
  • Disclaimers

Help Center Help Center

  • Centro de ayuda
  • Actualizaciones de productos
  • Documentation

Solving Boundary Value Problems

In a boundary value problem (BVP), the goal is to find a solution to an ordinary differential equation (ODE) that also satisfies certain specified boundary conditions . The boundary conditions specify a relationship between the values of the solution at two or more locations in the interval of integration. In the simplest case, the boundary conditions apply at the beginning and end (or boundaries) of the interval.

The MATLAB ® BVP solvers bvp4c and bvp5c are designed to handle systems of ODEs of the form

y ' = f ( x , y )

x is the independent variable

y is the dependent variable

y ′ represents the derivative of y with respect to x , also written as dy / dx

Boundary Conditions

In the simplest case of a two-point BVP , the solution to the ODE is sought on an interval [ a , b ], and must satisfy the boundary conditions

g ( y ( a ) , y ( b ) ) = 0   .

To specify the boundary conditions for a given BVP, you must:

Write a function of the form res = bcfun(ya,yb) , or use the form res = bcfun(ya,yb,p) if there are unknown parameters involved. You supply this function to the solver as the second input argument. The function returns res , which is the residual value of the solution at the boundary point. For example, if y(a) = 1 and y(b) = 0 , then the boundary condition function is function res = bcfun(ya,yb) res = [ya(1)-1 yb(1)]; end

In the initial guess for the solution, the first and last points in the mesh specify the points at which the boundary conditions are enforced. For the above boundary conditions, you can specify bvpinit(linspace(a,b,5),yinit) to enforce the boundary conditions at a and b .

The BVP solvers in MATLAB also can accommodate other types of problems that have:

Unknown parameters p

Singularities in the solutions

Multipoint conditions (internal boundaries that separate the integration interval into several regions)

In the case of multipoint boundary conditions , the boundary conditions apply at more than two points in the interval of integration. For example, the solution might be required to be zero at the beginning, middle, and end of the interval. See bvpinit for details on how to specify multiple boundary conditions.

Initial Guess of Solution

Unlike initial value problems, a boundary value problem can have:

No solution

A finite number of solutions

Infinitely many solutions

An important part of the process of solving a BVP is providing a guess for the required solution. The quality of this guess can be critical for the solver performance and even for a successful computation.

Use the bvpinit function to create a structure for the initial guess of the solution. The solvers bvp4c and bvp5c accept this structure as the third input argument.

Creating a good initial guess for the solution is more an art than a science. However, some general guidelines include:

Have the initial guess satisfy the boundary conditions, since the solution is required to satisfy them as well. If the problem contains unknown parameters, then the initial guess for the parameters also should satisfy the boundary conditions.

Try to incorporate as much information about the physical problem or expected solution into the initial guess as possible. For example, if the solution is supposed to oscillate or have a certain number of sign changes, then the initial guess should as well.

Consider the placement of the mesh points (the x-coordinates of the initial guess of the solution). The BVP solvers adapt these points during the solution process, so you do not need to specify too many mesh points. Best practice is to specify a few mesh points placed near where the solution changes rapidly.

If there is a known, simpler solution on a smaller interval, then use it as an initial guess on a larger interval. Often you can solve a problem as a series of relatively simpler problems, a practice called continuation . With continuation, a series of simple problems are connected by using the solution of one problem as the initial guess to solve the next problem.

Finding Unknown Parameters

Often BVPs involve unknown parameters p that have to be determined as part of solving the problem. The ODE and boundary conditions become

y ' = f ( x , y , p ) g ( y ( a ) , y ( b ) , p ) = 0

In this case, the boundary conditions must suffice to determine the values of the parameters p .

You must provide the solver with an initial guess for any unknown parameters. When you call bvpinit to create the structure solinit , specify the initial guess as a vector in the third input argument parameters .

Additionally, the functions odefun and bcfun that encode the ODE equations and boundary conditions must each have a third argument.

While solving the differential equations, the solver adjusts the value of the unknown parameters to satisfy the boundary conditions. The solver returns the final values of these unknown parameters in sol.parameters .

Singular BVPs

bvp4c and bvp5c can solve a class of singular BVPs of the form

y ′ = 1 x S y + f ( x , y ) , 0 = g ( y ( 0 ) , y ( b ) ) .

The solvers can also accommodate unknown parameters for problems of the form

y ′ = 1 x S y + f ( x , y , p ) , 0 = g ( y ( 0 ) , y ( b ) , p ) .

Singular problems must be posed on an interval [0, b ] with b > 0. Use bvpset to pass the constant matrix S to the solver as the value of the 'SingularTerm' option. Boundary conditions at x = 0 must be consistent with the necessary condition for a smooth solution, Sy (0) = 0. The initial guess of the solution also should satisfy this condition.

When you solve a singular BVP, the solver requires that your function odefun(x,y) return only the value of the f ( x , y ) term in the equation. The term involving S is handled by the solver separately using the 'SingularTerm' option.

BVP Solver Selection

MATLAB includes the solvers bvp4c and bvp5c to solve BVPs. In most cases you can use the solvers interchangeably. The main difference between the solvers is that bvp4c implements a fourth-order formula, while bvp5c implements a fifth-order formula.

The bvp5c function is used exactly like bvp4c , with the exception of the meaning of error tolerances between the two solvers. If S ( x ) approximates the solution y(x) , bvp4c controls the residual | S ′( x ) –  f ( x , S ( x ))|. This approach indirectly controls the true error | y ( x ) – S ( x )|. Use bvp5c to control the true error directly.

Evaluating the Solution

The collocation methods implemented in bvp4c and bvp5c produce C 1 -continuous solutions over the interval of integration [ a , b ]. You can evaluate the approximate solution, S ( x ), at any point in [ a , b ] using the helper function deval and the structure sol returned by the solver. For example, to evaluate the solution sol at the mesh of points xint , use the command

The deval function is vectorized. For a vector xint , the i th column of Sxint approximates the solution y(xint(i)) .

BVP Examples and Files

Several available example files serve as excellent starting points for most common BVP problems. To easily explore and run examples, simply use the Differential Equations Examples app. To run this app, type odeexamples To open an individual example file for editing, type edit exampleFileName.m To run an example, type exampleFileName

This table contains a list of the available BVP example files, as well as the solvers and the options they use.

[1] Ascher, U., R. Mattheij, and R. Russell. “ Numerical Solution of Boundary Value Problems for Ordinary Differential Equations .” Philadelphia, PA: SIAM, 1995, p. 372.

[2] Shampine, L.F., and J. Kierzenka. "A BVP Solver based on residual control and the MATLAB PSE." ACM Trans. Math. Softw. Vol. 27, Number 3, 2001, pp. 299–316.

[3] Shampine, L.F., M.W. Reichelt, and J. Kierzenka. " Solving Boundary Value Problems for Ordinary Differential Equations in MATLAB with bvp4c ." MATLAB File Exchange , 2004.

[4] Shampine, L.F., and J. Kierzenka. "A BVP Solver that Controls Residual and Error." J. Numer. Anal. Ind. Appl. Math. Vol. 3(1-2), 2008, pp. 27–41.

bvp4c | bvp5c | bvpinit | bvpset | pdepe | ode45

Comando de MATLAB

Ha hecho clic en un enlace que corresponde a este comando de MATLAB:

Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.

Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

  • Switzerland (English)
  • Switzerland (Deutsch)
  • Switzerland (Français)
  • 中国 (English)

You can also select a web site from the following list:

How to Get Best Site Performance

Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.

  • América Latina (Español)
  • Canada (English)
  • United States (English)
  • Belgium (English)
  • Denmark (English)
  • Deutschland (Deutsch)
  • España (Español)
  • Finland (English)
  • France (Français)
  • Ireland (English)
  • Italia (Italiano)
  • Luxembourg (English)
  • Netherlands (English)
  • Norway (English)
  • Österreich (Deutsch)
  • Portugal (English)
  • Sweden (English)
  • United Kingdom (English)

Asia Pacific

  • Australia (English)
  • India (English)
  • New Zealand (English)

Contact your local office

Help Center Help Center

  • Help Center
  • Trial Software
  • Product Updates
  • Documentation

Boundary Value Problems

Boundary value problems (BVPs) are ordinary differential equations that are subject to boundary conditions. Unlike initial value problems, a BVP can have a finite solution, no solution, or infinitely many solutions. The initial guess of the solution is an integral part of solving a BVP, and the quality of the guess can be critical for the solver performance or even for a successful computation. The bvp4c and bvp5c solvers work on boundary value problems that have two-point boundary conditions, multipoint conditions, singularities in the solutions, or unknown parameters. For more information, see Solving Boundary Value Problems .

Get/Set Options

Evaluate and extend solution.

Background information, solver capabilities and algorithms, and example summary.

Featured Examples

Solve BVP with Two Solutions

Solve BVP with Two Solutions

Uses bvp4c with two different initial guesses to find both solutions to a BVP problem.

Solve BVP with Unknown Parameter

Solve BVP with Unknown Parameter

Use bvp4c to solve a boundary value problem with an unknown parameter.

Solve BVP with Multiple Boundary Conditions

Solve BVP with Multiple Boundary Conditions

Solve a multipoint boundary value problem, where the solution of interest satisfies conditions inside the interval of integration.

Solve BVP with Singular Term

Solve BVP with Singular Term

Solve Emden's equation, which is a boundary value problem with a singular term that arises in modeling a spherical body of gas.

Solve BVP Using Continuation

Solve BVP Using Continuation

Solve a numerically difficult boundary value problem using continuation, which effectively breaks the problem up into a sequence of simpler problems.

Verify BVP Consistency Using Continuation

Verify BVP Consistency Using Continuation

Use continuation to gradually extend a BVP solution to larger intervals.

MATLAB Command

You clicked a link that corresponds to this MATLAB command:

Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.

Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

  • Switzerland (English)
  • Switzerland (Deutsch)
  • Switzerland (Français)
  • 中国 (English)

You can also select a web site from the following list:

How to Get Best Site Performance

Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.

  • América Latina (Español)
  • Canada (English)
  • United States (English)
  • Belgium (English)
  • Denmark (English)
  • Deutschland (Deutsch)
  • España (Español)
  • Finland (English)
  • France (Français)
  • Ireland (English)
  • Italia (Italiano)
  • Luxembourg (English)
  • Netherlands (English)
  • Norway (English)
  • Österreich (Deutsch)
  • Portugal (English)
  • Sweden (English)
  • United Kingdom (English)

Asia Pacific

  • Australia (English)
  • India (English)
  • New Zealand (English)

Contact your local office


  1. How to solve the boundary value problem Differential equation Gate 2016 ME

    solve a boundary value problem

  2. Intro to Boundary Value Problems

    solve a boundary value problem

  3. Solved Solve the following initial boundary value problem

    solve a boundary value problem

  4. Solved Consider the boundary value problem d^2 y/dx^2 = -f

    solve a boundary value problem

  5. Solved Solve the boundary value problem ;()() for two time

    solve a boundary value problem

  6. Solved Solve the following initial boundary value problem

    solve a boundary value problem


  1. Boundary Value Problem with Linear Dielectric

  2. Solving Boundary Value Problem

  3. Solve Commission problem using boundary value analysis

  4. Boundary value problems

  5. Solve the initial and boundary value problem by Using Fourier and Laplace Transform||In Urdu

  6. Boundary Value Problem (BVP)


  1. Using the Standard Solitaire Game to Sharpen Your Problem-Solving Abilities

    In today’s fast-paced world, problem-solving skills are more important than ever. Whether it’s in your personal life or professional career, the ability to think critically and find solutions is highly valued. One way to enhance these skill...

  2. Solve for Y in Terms of X?

    According to the University of Regina, another way to express solving for y in terms of x is solving an equation for y. The solution is not a numerical value; instead, it is an expression equal to y involving the variable x. An example prob...

  3. What Are the Six Steps of Problem Solving?

    The six steps of problem solving involve problem definition, problem analysis, developing possible solutions, selecting a solution, implementing the solution and evaluating the outcome. Problem solving models are used to address issues that...

  4. Differential Equations

    With boundary value problems we will often have no solution or infinitely many solutions even for very nice differential equations that would

  5. Boundary value problem

    A solution to a boundary value problem is a solution to the differential equation which also satisfies the boundary conditions. Shows a region where a

  6. Boundary Value Problem (Boundary value problems for ...

    Boundary Value Problems are not to bad! Here's how to solve a (2 point) boundary value problem in differential equations.

  7. boundary value problem

    Compute answers using Wolfram's breakthrough technology & knowledgebase, relied on by millions of students & professionals. For math, science, nutrition

  8. 13.1: Boundary Value Problems

    Two-Point Boundary Values Problems ... P0(x)y″+P1(x)y′+P2(x)y=F(x). Suppose P0, P1, P2, and F are continuous and P0 has no zeros on an open

  9. Boundary-Value Problems

    A second-order boundary-value problem consists of a second-order differential equation along with constraints on the solution y = y(x) at two values of x . For

  10. Boundary value problem

    A Boundary value problem is a system of ordinary differential equations with solution and derivative values specified at more than one point

  11. Solving Boundary Value Problems

    Use bvpset to pass the constant matrix S to the solver as the value of the 'SingularTerm' option. Boundary conditions at x = 0 must be consistent with the

  12. Intro to Boundary Value Problems

    This video introduces boundary value problems. The general solution is given. Video Library: http://mathispower4u.com.

  13. Boundary Value Problems

    Boundary value problems (BVPs) are ordinary differential equations that are subject to boundary conditions. Unlike initial value problems, a BVP can have a

  14. 2.3: Boundary Value Problems

    For an initial value problem one has to solve a differential equation subject to conditions on the unknown function and its derivatives at