%Binomial.m %Math 128B Spring 2005 % call once Binomial('init') to load Binomial.mat datafile % subsequent calls to Binomial('3'), Binomial('4'), etc. % will return b=B3=[1 2 1], b=B4=[1 3 3 1], etc. function b = Binomial(selector) persistent BinCoef switch selector case 'init' %initialize by loading data file BinCoef = load('Binomial.mat'); b = 0; otherwise %retrieve variable from BinCoef data %B1=[1], B2=[1 1], B3=[1 2 1] %in general, "BN"=[nC0,...,nCn] where (n=N-1) b = eval(['BinCoef.B' num2str(selector)]); end return %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Binomial.mat created with following code %%% %creates variables Bn=[nC0,...,nCn] clear B1 = 1; Bn = 'B1'; for n=1:40 Bn1 = ['B' num2str(n+1)]; evalstr = [Bn1 '= [0,' Bn '] + [' Bn ',0]']; eval(evalstr); Bn = Bn1; end save('Binomial.mat')