>> c(0) ans = 0.7071 >> f=ones(8,8) f = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 >> getdctf(f) ans = 8.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 -0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 >> f125=0.125*f f125 = 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 >> F=getdctf(f125) F = 1.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 >> finv=getidctf(F) finv = 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 >> f0=zeros(8,8) f0 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 >> f01=f0 f01 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 >> f01(0,1)=1 ??? Attempted to access f01(0,1); index must be a positive integer or logical. >> f01(1,2)=1 f01 = 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 >> F01=f01 F01 = 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 >> getidct(F01) ??? Undefined function or method 'getidct' for input arguments of type 'double'. >> getidctf(F01) ans = 0.1734 0.1470 0.0982 0.0345 -0.0345 -0.0982 -0.1470 -0.1734 0.1734 0.1470 0.0982 0.0345 -0.0345 -0.0982 -0.1470 -0.1734 0.1734 0.1470 0.0982 0.0345 -0.0345 -0.0982 -0.1470 -0.1734 0.1734 0.1470 0.0982 0.0345 -0.0345 -0.0982 -0.1470 -0.1734 0.1734 0.1470 0.0982 0.0345 -0.0345 -0.0982 -0.1470 -0.1734 0.1734 0.1470 0.0982 0.0345 -0.0345 -0.0982 -0.1470 -0.1734 0.1734 0.1470 0.0982 0.0345 -0.0345 -0.0982 -0.1470 -0.1734 0.1734 0.1470 0.0982 0.0345 -0.0345 -0.0982 -0.1470 -0.1734 >> [X Y]=meshgrid(8,8) X = 8 Y = 8 >> X X = 8 >> [X Y]=meshgrid(0:7) X = 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 Y = 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 >> surf(X,Y,getidctf(F01)) >> for x=0:7 >> z=zeros(8,8) for x=1:8 for y=1:8 t=z; t(x,y)=1; fm(x,y)=t; end end z = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ??? Subscripted assignment dimension mismatch. >> t t = 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 >> fm(1,1) ??? Undefined function or method 'fm' for input arguments of type 'double'. >> t=z; t(x,y)=1; fm{x,y}=t; >> z=zeros(8,8); for x=1:8 for y=1:8 t=z; t(x,y)=1; fm{x,y}=t; end end >> fm{1,2} ans = 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 >> surf(X,Y,getidctf(fm{1,2}) ??? surf(X,Y,getidctf(fm{1,2}) | Error: Expression or statement is incorrect--possibly unbalanced (, {, or [. >> surf(X,Y,getidctf(fm{1,2})) >> surf(X,Y,getidctf(fm{1,3})) >> surf(X,Y,getidctf(fm{1,4})) >> surf(X,Y,getidctf(fm{1,5})) >> surf(X,Y,getidctf(fm{1,6})) >> surf(X,Y,getidctf(fm{2,2})) >> surf(X,Y,getidctf(fm{1,1})) >> surf(X,Y,getidctf(fm{1,2})) >> surf(X,Y,getidctf(fm{1,3})) >> surf(X,Y,getidctf(fm{1,4})) >> surf(X,Y,getidctf(fm{1,5})) >> surf(X,Y,getidctf(fm{1,6})) >> surf(X,Y,getidctf(fm{1,7})) >> surf(X,Y,getidctf(fm{1,8})) >> zf1([1 4 5 8],:)=100*ones(4,8) zf1 = 100 100 100 100 100 100 100 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 100 100 100 100 100 100 >> surf(X,Y,zf1) >> surf(X,Y,getdctf(zf1)) >> getdctf(zf1) ans = 400.0000 0.0000 -0.0000 0.0000 0.0000 0.0000 -0.0000 -0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 -0.0000 0.0000 -0.0000 -0.0000 -0.0000 0.0000 0.0000 0.0000 -0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 400.0000 0.0000 -0.0000 0.0000 0.0000 0.0000 -0.0000 -0.0000 0.0000 0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 0.0000 -0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 -0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 -0.0000 0.0000 >> format short e >> getdctf(zf1) ans = Columns 1 through 7 4.0000e+002 3.5209e-014 -3.2619e-014 2.2649e-014 2.0136e-014 1.1560e-013 -6.2764e-014 5.0635e-015 5.5511e-017 7.1609e-015 3.6082e-015 3.6082e-015 5.3846e-015 5.5511e-017 -5.5228e-014 3.6082e-015 -1.0603e-014 -3.4972e-015 -7.0499e-015 7.1609e-015 3.6082e-015 -9.5422e-014 1.7819e-014 3.6082e-015 5.5511e-017 5.3846e-015 5.5511e-017 6.2728e-015 4.0000e+002 1.7819e-014 -2.4813e-014 3.0254e-014 2.1372e-014 1.1730e-013 -6.5670e-014 1.4323e-013 1.8319e-015 5.3846e-015 -8.8263e-015 5.5511e-017 -3.4972e-015 9.4369e-016 -1.6074e-013 7.1609e-015 1.8319e-015 9.4369e-016 1.8319e-015 1.8319e-015 1.3878e-015 -7.6581e-014 5.3846e-015 1.0714e-014 2.7200e-015 1.0714e-014 2.7200e-015 -1.4988e-015 Column 8 -3.1991e-014 3.6082e-015 3.6082e-015 2.7200e-015 -3.2363e-014 2.7200e-015 1.1657e-015 1.6098e-015 >>