proc iml; /*Question 1*/ a=3;b=-2;c=2; x=1//4//2//5//3; y=2//-1//7//3//0; Am=(1||0||2||-1||0)//(1||0||3||0||2)//(2||5||4||2||-3); Bm=j(5,5,0);Bm[1,1]=3;Bm[2,2]=4;Bm[4,4]=-1;Bm[5,5]=2; *print x y am b; a1=a*x+b*y; print a1; b1=c*x`*Am`; print b1; c1=y`*Bm; print c1; /*Question 2*/ x=1//3//0//4//2; Am=(1||4||5||-1||3)//(2||7||1||3||5)//(-1||0||6||3||9)//(-8||1||1||0||2)//(3||2||-4||6||1); a3=x`*j(5,1,1); print a3; b3=j(5,5,1)*Am; print b3; c3=inv(Am)*x; print c3; mat=(2||-1||3)//(3||2||-3)//(1||3||4); x2=17//-1//8; d3=inv(mat)*x2; print d3; /*Question 3*/ sum=0; iter=0; do until(sum>100); iter=iter+1; sum=sum+(iter+1)/iter; print iter sum; end; print iter sum; /*Question 4*/ prod=1; n=11; do i=1 to n; prod=prod*i; end; print prod; prod2=0; do i=1 to n; prod2=prod2+log(i); end; fac=exp(prod2); print fac; /*Question 5*/ start comb(a,b); b1=min(b,a-b); b2=max(b,a-b); num=0; do i=b2+1 to a; num=num+log(i); end; den=0; do j=1 to b1; den=den+log(j); end; c=exp(num-den); return(c); finish comb; a6=comb(10,3); print a6; b6=comb(250,8); print b6;