%macro backterial(target,a0,ka,b0,kb);
Data notes;
retain t 0;
Length total :8;
Do until (total ge &target);
Ya=&a0*exp(&ka*t);
Yb=&b0*exp(&kb*t);
Total=Ya+Yb;
t=t+1;
output;
end;
%mend backterial;
%backterial(10000000000,1,2,1,2);
proc print data=notes;
run;
以上,target为细菌总数的目标值,a0,b0分别是开始的细菌个数,ka,ka分别是两类细菌的增长率,在调用的时候自行输入。