0001 function [rao,deco]=ast2fracdeg(ra,dec)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 if(~iscell(ra))
0012 rac{1}=ra;
0013 decc{1}=dec;
0014 else
0015 rac=ra; decc=dec;
0016 end
0017
0018 for i=1:length(rac)
0019 ra=rac{i}; dec=decc{i};
0020
0021 if(~ischar(ra)|~ischar(dec))
0022 error('Input must be strings of form ra=h:m:s dec=+/-d:m:s')
0023 end
0024
0025 ra=sscanf(ra,'%d:%d:%f');
0026 dec_sign=sscanf(dec,'%1c',1);
0027 dec=sscanf(dec,'%*c%d:%d:%f');
0028
0029 if(ra(1)<0)
0030 error('ra hours must be >0');
0031 end
0032
0033 if(dec_sign~='+'&dec_sign~='-')
0034 error('dec degrees must be preceded by a + or - sign');
0035 end
0036
0037 if(any(any([ra(2:3)>60,dec(2:3)>60])))
0038 error('Minutes and seconds must be <60');
0039 end
0040
0041 rao(i)=15*(ra(1)+ra(2)/60+ra(3)/60^2);
0042
0043 if(dec_sign=='-')
0044 deco(i)=-dec(1)-dec(2)/60-dec(3)/60^2;
0045 else
0046 deco(i)=+dec(1)+dec(2)/60+dec(3)/60^2;
0047 end
0048 end
0049
0050 rao=reshape(rao,size(rac));
0051 deco=reshape(deco,size(rac));