how to call a function
    6 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Jitesh Bhanushali
 am 21 Mär. 2014
  
    
    
    
    
    Kommentiert: Jitesh Bhanushali
 am 24 Mär. 2014
            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;
0 Kommentare
Akzeptierte Antwort
  Mischa Kim
    
      
 am 21 Mär. 2014
        
      Bearbeitet: Mischa Kim
    
      
 am 21 Mär. 2014
  
      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
5 Kommentare
  Mischa Kim
    
      
 am 22 Mär. 2014
				
      Bearbeitet: Mischa Kim
    
      
 am 22 Mär. 2014
  
			A couple of things:
- Remove all the semi-colons after the end statements.
- Remove the very last end statement and add one right before the function definition for rle2.
- Change output to Output (variable names are case-sensitive) in the function definition for rle2.
See attachment below.
Weitere Antworten (3)
  Jitesh Bhanushali
 am 22 Mär. 2014
        1 Kommentar
  Mischa Kim
    
      
 am 22 Mär. 2014
				I added the final comments and a working m-file above with my previous comment.
Please add follow-up questions and comments as comments, not answers.
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

