用新的替换旧的情节

时间:2014-04-06 06:45:39

标签: matlab plot subplot

让我们考虑以下代码

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 个答案:

答案 0 :(得分: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