2014-04-06 38 views
0

老情節讓我們考慮下面的代碼替代由新

function [order]=find_order(y,fs); 
order=0; 
n=length(y); 
n1=nextpow2(n); 
ndft=2^n1; 
for i=1:floor(n/2) 
    [Pxx,f]=pburg(y,i,ndft,fs); 
    % subplot(floor(n/2),floor(n/2),i); 
    %subplot(ndft,ndft,i); 
    h = figure; 
    plot(f,Pxx); 
    title(['order',num2str(i),'i']); 
    filename = 'mydata'; 
print(h, '-dpsc', filename); 
    order(i)=i;  
    pause(6.21); 
end 
end 

我有一個問題想的,而不是在每次迭代地塊新圖,取代舊的新的,所以我該怎麼辦呢?請幫助我

回答

1

在您的for循環中,您需要每次迭代都要求一個新數字h = figure。如果你真的想保持函數調用,將其移動到外面的for循環

function [order]=find_order(y,fs); 
order=0; 
n=length(y); 
n1=nextpow2(n); 
ndft=2^n1; 

h = figure;

for i=1:floor(n/2) 
    [Pxx,f]=pburg(y,i,ndft,fs); 
    % subplot(floor(n/2),floor(n/2),i); 
    %subplot(ndft,ndft,i); 

    plot(f,Pxx); 
    title(['order',num2str(i),'i']); 
    filename = 'mydata'; 
print(h, '-dpsc', filename); 
    order(i)=i;  
    pause(6.21); 
end 
end 
+0

非常感謝 –

+0

它真的幫了我 –

+0

,纔有可能挽救每一個畫面中一個單詞文件沒有輸出? –