What numerical method does Matlab's bvp4c use?
$begingroup$
Can anyone shed some light on how matlab's bvp4c function works? I've looked online but I haven't found any specifics on the method it uses.
With that question asked, what are some different ways on solving bvp problems. I am aware of the shooting method, but for my problem I know exactly what my initial and end conditions are, I'm more interested in what happens in between. And unless I understand the method wrong, the goal is to figure out what your initial conditions are with the shooting method.
For my particular problem "4th order, non-linear, variable coefficient, homogeneous ODE. And by 4th order, I'm referring to the highest derivative" I'm having trouble figuring out a way to solve this problem.
Any help useful information would be greatly appreciated.
ordinary-differential-equations numerical-methods matlab boundary-value-problem
$endgroup$
add a comment |
$begingroup$
Can anyone shed some light on how matlab's bvp4c function works? I've looked online but I haven't found any specifics on the method it uses.
With that question asked, what are some different ways on solving bvp problems. I am aware of the shooting method, but for my problem I know exactly what my initial and end conditions are, I'm more interested in what happens in between. And unless I understand the method wrong, the goal is to figure out what your initial conditions are with the shooting method.
For my particular problem "4th order, non-linear, variable coefficient, homogeneous ODE. And by 4th order, I'm referring to the highest derivative" I'm having trouble figuring out a way to solve this problem.
Any help useful information would be greatly appreciated.
ordinary-differential-equations numerical-methods matlab boundary-value-problem
$endgroup$
$begingroup$
What do you mean "how it works"? How to use it and interpret the results you get or how to try to code your own method giving similar results? For the use of the python equivalent with a 4th order ODE see math.stackexchange.com/q/2971225/115115
$endgroup$
– LutzL
Jan 2 at 21:36
$begingroup$
What numerical method does it use.
$endgroup$
– tenichols
Jan 2 at 21:40
1
$begingroup$
Directly from the documentation page: Algorithms --bvp4c
is a finite difference code that implements the three-stage Lobatto IIIa formula. This is a collocation formula and the collocation polynomial provides a $C^1$-continuous solution that is fourth-order accurate uniformly in $[a,b]$. Mesh selection and error control are based on the residual of the continuous solution.
$endgroup$
– LutzL
Jan 2 at 21:52
$begingroup$
What is a "non-linear ... homogeneous ODE"? Do you mean that it has a zero solution, or that there is a certain scaling invariance or ...?
$endgroup$
– LutzL
Jan 2 at 21:55
add a comment |
$begingroup$
Can anyone shed some light on how matlab's bvp4c function works? I've looked online but I haven't found any specifics on the method it uses.
With that question asked, what are some different ways on solving bvp problems. I am aware of the shooting method, but for my problem I know exactly what my initial and end conditions are, I'm more interested in what happens in between. And unless I understand the method wrong, the goal is to figure out what your initial conditions are with the shooting method.
For my particular problem "4th order, non-linear, variable coefficient, homogeneous ODE. And by 4th order, I'm referring to the highest derivative" I'm having trouble figuring out a way to solve this problem.
Any help useful information would be greatly appreciated.
ordinary-differential-equations numerical-methods matlab boundary-value-problem
$endgroup$
Can anyone shed some light on how matlab's bvp4c function works? I've looked online but I haven't found any specifics on the method it uses.
With that question asked, what are some different ways on solving bvp problems. I am aware of the shooting method, but for my problem I know exactly what my initial and end conditions are, I'm more interested in what happens in between. And unless I understand the method wrong, the goal is to figure out what your initial conditions are with the shooting method.
For my particular problem "4th order, non-linear, variable coefficient, homogeneous ODE. And by 4th order, I'm referring to the highest derivative" I'm having trouble figuring out a way to solve this problem.
Any help useful information would be greatly appreciated.
ordinary-differential-equations numerical-methods matlab boundary-value-problem
ordinary-differential-equations numerical-methods matlab boundary-value-problem
edited Jan 2 at 21:39
tenichols
asked Jan 2 at 20:48
tenicholstenichols
83
83
$begingroup$
What do you mean "how it works"? How to use it and interpret the results you get or how to try to code your own method giving similar results? For the use of the python equivalent with a 4th order ODE see math.stackexchange.com/q/2971225/115115
$endgroup$
– LutzL
Jan 2 at 21:36
$begingroup$
What numerical method does it use.
$endgroup$
– tenichols
Jan 2 at 21:40
1
$begingroup$
Directly from the documentation page: Algorithms --bvp4c
is a finite difference code that implements the three-stage Lobatto IIIa formula. This is a collocation formula and the collocation polynomial provides a $C^1$-continuous solution that is fourth-order accurate uniformly in $[a,b]$. Mesh selection and error control are based on the residual of the continuous solution.
$endgroup$
– LutzL
Jan 2 at 21:52
$begingroup$
What is a "non-linear ... homogeneous ODE"? Do you mean that it has a zero solution, or that there is a certain scaling invariance or ...?
$endgroup$
– LutzL
Jan 2 at 21:55
add a comment |
$begingroup$
What do you mean "how it works"? How to use it and interpret the results you get or how to try to code your own method giving similar results? For the use of the python equivalent with a 4th order ODE see math.stackexchange.com/q/2971225/115115
$endgroup$
– LutzL
Jan 2 at 21:36
$begingroup$
What numerical method does it use.
$endgroup$
– tenichols
Jan 2 at 21:40
1
$begingroup$
Directly from the documentation page: Algorithms --bvp4c
is a finite difference code that implements the three-stage Lobatto IIIa formula. This is a collocation formula and the collocation polynomial provides a $C^1$-continuous solution that is fourth-order accurate uniformly in $[a,b]$. Mesh selection and error control are based on the residual of the continuous solution.
$endgroup$
– LutzL
Jan 2 at 21:52
$begingroup$
What is a "non-linear ... homogeneous ODE"? Do you mean that it has a zero solution, or that there is a certain scaling invariance or ...?
$endgroup$
– LutzL
Jan 2 at 21:55
$begingroup$
What do you mean "how it works"? How to use it and interpret the results you get or how to try to code your own method giving similar results? For the use of the python equivalent with a 4th order ODE see math.stackexchange.com/q/2971225/115115
$endgroup$
– LutzL
Jan 2 at 21:36
$begingroup$
What do you mean "how it works"? How to use it and interpret the results you get or how to try to code your own method giving similar results? For the use of the python equivalent with a 4th order ODE see math.stackexchange.com/q/2971225/115115
$endgroup$
– LutzL
Jan 2 at 21:36
$begingroup$
What numerical method does it use.
$endgroup$
– tenichols
Jan 2 at 21:40
$begingroup$
What numerical method does it use.
$endgroup$
– tenichols
Jan 2 at 21:40
1
1
$begingroup$
Directly from the documentation page: Algorithms --
bvp4c
is a finite difference code that implements the three-stage Lobatto IIIa formula. This is a collocation formula and the collocation polynomial provides a $C^1$-continuous solution that is fourth-order accurate uniformly in $[a,b]$. Mesh selection and error control are based on the residual of the continuous solution.$endgroup$
– LutzL
Jan 2 at 21:52
$begingroup$
Directly from the documentation page: Algorithms --
bvp4c
is a finite difference code that implements the three-stage Lobatto IIIa formula. This is a collocation formula and the collocation polynomial provides a $C^1$-continuous solution that is fourth-order accurate uniformly in $[a,b]$. Mesh selection and error control are based on the residual of the continuous solution.$endgroup$
– LutzL
Jan 2 at 21:52
$begingroup$
What is a "non-linear ... homogeneous ODE"? Do you mean that it has a zero solution, or that there is a certain scaling invariance or ...?
$endgroup$
– LutzL
Jan 2 at 21:55
$begingroup$
What is a "non-linear ... homogeneous ODE"? Do you mean that it has a zero solution, or that there is a certain scaling invariance or ...?
$endgroup$
– LutzL
Jan 2 at 21:55
add a comment |
1 Answer
1
active
oldest
votes
$begingroup$
You ask how the algorithm works, see here, especially
bvp4c is a finite difference code that implements the three-stage Lobatto IIIa formula. This is a collocation formula and the collocation polynomial provides a C1-continuous solution that is fourth-order accurate uniformly in [a,b]. Mesh selection and error control are based on the residual of the continuous solution.
You also say that you don't want to use the shooting method since this is for 'finding the initial conditions'. This is partially correct, but misses the point. The approach is to have parameterized initial conditions at $a$, in addition to the boundary conditions there, use a standard ODE solver to solve across the domain, and then use root finding to find the appropriate parameter values to enforce the boundary conditions at $b$. These can then be used to find the solution across the domain. The result of this is that a solver for IVPs can be turned into a solver for BVPs by combining with a root finder. This isn't necessary the most efficient or accurate way to solve the problem, but all the components are well understood.
$endgroup$
add a comment |
StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
});
});
}, "mathjax-editing");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "69"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3059957%2fwhat-numerical-method-does-matlabs-bvp4c-use%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
You ask how the algorithm works, see here, especially
bvp4c is a finite difference code that implements the three-stage Lobatto IIIa formula. This is a collocation formula and the collocation polynomial provides a C1-continuous solution that is fourth-order accurate uniformly in [a,b]. Mesh selection and error control are based on the residual of the continuous solution.
You also say that you don't want to use the shooting method since this is for 'finding the initial conditions'. This is partially correct, but misses the point. The approach is to have parameterized initial conditions at $a$, in addition to the boundary conditions there, use a standard ODE solver to solve across the domain, and then use root finding to find the appropriate parameter values to enforce the boundary conditions at $b$. These can then be used to find the solution across the domain. The result of this is that a solver for IVPs can be turned into a solver for BVPs by combining with a root finder. This isn't necessary the most efficient or accurate way to solve the problem, but all the components are well understood.
$endgroup$
add a comment |
$begingroup$
You ask how the algorithm works, see here, especially
bvp4c is a finite difference code that implements the three-stage Lobatto IIIa formula. This is a collocation formula and the collocation polynomial provides a C1-continuous solution that is fourth-order accurate uniformly in [a,b]. Mesh selection and error control are based on the residual of the continuous solution.
You also say that you don't want to use the shooting method since this is for 'finding the initial conditions'. This is partially correct, but misses the point. The approach is to have parameterized initial conditions at $a$, in addition to the boundary conditions there, use a standard ODE solver to solve across the domain, and then use root finding to find the appropriate parameter values to enforce the boundary conditions at $b$. These can then be used to find the solution across the domain. The result of this is that a solver for IVPs can be turned into a solver for BVPs by combining with a root finder. This isn't necessary the most efficient or accurate way to solve the problem, but all the components are well understood.
$endgroup$
add a comment |
$begingroup$
You ask how the algorithm works, see here, especially
bvp4c is a finite difference code that implements the three-stage Lobatto IIIa formula. This is a collocation formula and the collocation polynomial provides a C1-continuous solution that is fourth-order accurate uniformly in [a,b]. Mesh selection and error control are based on the residual of the continuous solution.
You also say that you don't want to use the shooting method since this is for 'finding the initial conditions'. This is partially correct, but misses the point. The approach is to have parameterized initial conditions at $a$, in addition to the boundary conditions there, use a standard ODE solver to solve across the domain, and then use root finding to find the appropriate parameter values to enforce the boundary conditions at $b$. These can then be used to find the solution across the domain. The result of this is that a solver for IVPs can be turned into a solver for BVPs by combining with a root finder. This isn't necessary the most efficient or accurate way to solve the problem, but all the components are well understood.
$endgroup$
You ask how the algorithm works, see here, especially
bvp4c is a finite difference code that implements the three-stage Lobatto IIIa formula. This is a collocation formula and the collocation polynomial provides a C1-continuous solution that is fourth-order accurate uniformly in [a,b]. Mesh selection and error control are based on the residual of the continuous solution.
You also say that you don't want to use the shooting method since this is for 'finding the initial conditions'. This is partially correct, but misses the point. The approach is to have parameterized initial conditions at $a$, in addition to the boundary conditions there, use a standard ODE solver to solve across the domain, and then use root finding to find the appropriate parameter values to enforce the boundary conditions at $b$. These can then be used to find the solution across the domain. The result of this is that a solver for IVPs can be turned into a solver for BVPs by combining with a root finder. This isn't necessary the most efficient or accurate way to solve the problem, but all the components are well understood.
answered Jan 2 at 21:56
EddyEddy
959612
959612
add a comment |
add a comment |
Thanks for contributing an answer to Mathematics Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3059957%2fwhat-numerical-method-does-matlabs-bvp4c-use%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
$begingroup$
What do you mean "how it works"? How to use it and interpret the results you get or how to try to code your own method giving similar results? For the use of the python equivalent with a 4th order ODE see math.stackexchange.com/q/2971225/115115
$endgroup$
– LutzL
Jan 2 at 21:36
$begingroup$
What numerical method does it use.
$endgroup$
– tenichols
Jan 2 at 21:40
1
$begingroup$
Directly from the documentation page: Algorithms --
bvp4c
is a finite difference code that implements the three-stage Lobatto IIIa formula. This is a collocation formula and the collocation polynomial provides a $C^1$-continuous solution that is fourth-order accurate uniformly in $[a,b]$. Mesh selection and error control are based on the residual of the continuous solution.$endgroup$
– LutzL
Jan 2 at 21:52
$begingroup$
What is a "non-linear ... homogeneous ODE"? Do you mean that it has a zero solution, or that there is a certain scaling invariance or ...?
$endgroup$
– LutzL
Jan 2 at 21:55