MATLAB: How to call a function

call a function

sir i have written this program i want to know that how can i call the function in the loop… clc; clear all; B=imread('bulb.jpg');
A=imresize(B,[128 128]);
[a b]=size(A);
c=8; d=8; l=0;
for i=1:c:a-7 for j=1:d:b-7
C = A((i:i+7) ,( j:j+7));
eval(['out_' num2str(l) '=C'])
l=l+1;
DCT= dct2(C)
quant = [
16 11 10 16 24 40 51 61;
12 12 14 19 26 58 60 55;
14 13 16 24 40 57 69 56;
14 17 22 29 51 87 80 62;
18 22 37 56 68 109 103 77;
24 35 55 64 81 104 113 92;
49 64 78 87 103 121 120 101;
72 92 95 98 112 100 103 99
];
quantCoef = round(DCT ./ quant)
end
end
function output=rle2(Input);
L=length(Input); j=1; k=1; i=1; while i<2*L comp=1; for j=j:L if j==L break end; if Input(j)==Input(j+1) comp=comp+1; else break end; end; Output(k+1)=comp; Output(k)=Input(j); if j==L && Input(j-1)==Input(j) break end; i=i+1; k=k+2; j=j+1; if j==L if mod(L,2)==0 Output(k+1)=1; Output(k)=Input(j); else Output(k+1)=1; Output(k)=Input(j); end; break end; end;

Best Answer

Jitesh, I assume you are referring to the function rle2? If so, turn the preceding script into a function (I called it mymain) and simply call the function with the appropriate input arguments. The m-file should be named like the main function, in this case mymain.m.
function mymain()
...
for i=1:c:a-7
...
out = rle2(in); % in needs to be assigned at this point
...
end
end
function output = rle2(Input)
...
output = ... % return value of the function
end