0001 function [ p ] = RK_order( b,c,A )
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 [Arows,Acols]=size(A);
0012 [brows,bcols]=size(b);
0013 [crows,ccols]=size(c);
0014 if Arows~=Acols;
0015 error('input must be a square matrix');
0016 elseif bcols~=1 || ccols~=1;
0017 error('input must be column vectors');
0018 elseif brows~=Arows || crows~=Arows;
0019 error('input dimensions do not agree');
0020 end
0021
0022 E=1e-12;
0023
0024 p=0;
0025 if (sum(b)>1-E) && (sum(b)<1+E);
0026 p=1;
0027 if (b'*c>1/2-E) && (b'*c<1/2+E);
0028 p=2;
0029 c2=c.^2;
0030 if (b'*c2>1/3-E) && (b'*c2<1/3+E);
0031 if (b'*A*c>1/6-E) && (b'*A*c<1/6+E)
0032 p=3;
0033 end
0034 else return;
0035 end
0036 else return;
0037 end
0038 else return;
0039 end
0040
0041 c3=c.^3;
0042 if (b'*c3>1/4-E) & (b'*c3<1/4+E);
0043 bc=b.*c;
0044 if (bc'*A*c>1/8-E) && (bc'*A*c<1/8+E);
0045 if (b'*A*c2>1/12-E) && (b'*A*c2<1/12+E);
0046 if (b'*A*A*c>1/24-E) && (b'*A*A*c<1/24+E)
0047 p=4;
0048 end
0049 end
0050 end
0051 end
0052
0053
0054 end
0055