Mercurial > forge
view extra/integration/ncrule.m @ 0:6b33357c7561 octave-forge
Initial revision
author | pkienzle |
---|---|
date | Wed, 10 Oct 2001 19:54:49 +0000 |
parents | |
children |
line wrap: on
line source
function [bp,wf]=ncrule(m) %usage: [bp,wf]=ncrule(m); % This function returns the Newton-Coates base points and weight factors % up to an 8 point Newton-Coates formula. % % m -- number of Newton-Coates points (integrates an mth order % polynomial exactly (or an (m+1)th order for even m)) % By Bryce Gardner, Purdue University, Spring 1993. if ( m == 1 ) bp=[-1;1]; wf=[1;1]; elseif ( m == 2 ) bp=[-1;0;1]; wf=[1;4;1]/3; elseif ( m == 3 ) bp=[-1;-1/3;1/3;1]; wf=[1;3;3;1]/4; elseif ( m == 4 ) bp=[-1;-1/2;0;1/2;1]; wf=[7;32;12;32;7]/45; elseif ( m == 5 ) bp=[-1;-3/5;-1/5;1/5;3/5;1]; wf=[19;75;50;50;75;19]/144; elseif ( m == 6 ) bp=[-1;-2/3;-1/3;0;1/3;2/3;1]; wf=[41;216;27;272;27;216;41]/420; elseif ( m == 7 ) bp=[-1;-5/7;-3/7;-1/7;1/7;3/7;5/7;1]; wf=[751;3577;1323;2989;2989;1323;3577;751]/8640; else if ( m != 8 ) disp('Dont know formula higher than n=8. Returning as if n=8.'); endif bp=[-1;-3/4;-1/2;-1/4;0;1/4;1/2;3/4;1]; wf=[989;5888;-928;10496;-4540;10496;-928;5888;989]/14175; endif endfunction