[問題] 書附的範例執行都會出現錯誤已回收

看板MATLAB作者 (forceout)時間16年前 (2009/05/11 09:46), 編輯推噓1(104)
留言5則, 2人參與, 最新討論串1/2 (看更多)
舉例 ==================================================================== %phase=ffm(imdata,command_str); % %This function evaluates the phase by the Fractional Fringe Method %imdata: input image data %comand_str: 'x' or 'y' for scanning direction, 'x' for default %By Qian Kemao, 24/05/01 %Toolbox: Photomechanics function phase=ffm(imdata,command_str); error(nargchk(1,2,nargin)); if nargin==1 command_str='x'; end [M N]=size(imdata); phase=zeros(M,N); imdata=double(imdata); if strcmp(command_str,'y') imdata=imdata'; end for (j=1:N) clear position; index=0; %get the max and min for (i=3:M-2) if( (imdata(i,j)>=imdata(i-2,j) & imdata(i,j)>=imdata(i-1,j) ... & imdata(i,j)>=imdata(i+1,j) & imdata(i,j)>=imdata(i+2,j))... | (imdata(i,j)<=imdata(i-2,j) & imdata(i,j)<=imdata(i-1,j)... & imdata(i,j)<=imdata(i+1,j) & imdata(i,j)<=imdata(i+2,j))) if (index==0) index=index+1; position(index)=i; else if ((i-position(index))>2) index=index+1; position(index)=i; end end end end %get the phase for (i=1:index-1) i0=mean(imdata(position(i):position(i+1),j)); i1=max(abs(imdata(position(i):position(i+1),j)-i0)); phase(position(i):position(i+1),j)=acos((imdata(position(i):position(i+1),j)-i0)/i1); if (phase(position(i+1),j)<phase(position(i),j)) phase(position(i):position(i+1),j)=-phase(position(i):position(i+1),j); end end for (i=position(1):position(index)) while((phase(i,j)-phase(i-1,j))<=-pi) phase(i,j)=phase(i,j)+2*pi; end while((phase(i,j)-phase(i-1,j))>pi) phase(i,j)=phase(i,j)-2*pi; end end if (imdata(position(1),j)<imdata(position(2),j)) phase(position(1):position(index),j)=phase(position(1):position(index),j)+pi; end %t=max(max(phase(:,j))); %phase(1:position(1)-1,j)=t; end if strcmp(command_str,'y') phase=phase'; end ================================ 會出現 ??? Error using ==> wrapping Not enough input arguments. 書名是MATLAB(R) for Photomechanics 請問要怎麼解決? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.57.124


05/11 09:57, , 2F
所有的範例都在這
05/11 09:57, 2F

05/11 10:05, , 3F
沒一個能執行= =
05/11 10:05, 3F

05/11 11:56, , 4F
他寫的很清楚啊,你沒有給他input argument...
05/11 11:56, 4F

05/11 12:24, , 5F
感謝.他的範例應該是執行basicdemo.m才會呼叫ffm.m
05/11 12:24, 5F
文章代碼(AID): #1A1uE4lL (MATLAB)
文章代碼(AID): #1A1uE4lL (MATLAB)