Darstellung von Kurven < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) reagiert/warte auf Reaktion | Datum: | 13:32 Fr 15.12.2006 | Autor: | Desperados |
Hallo. Habe eine Frage zur Darstellung von Kurven in verschiedenen Fenstern. Habe ein Programm gekriegt, was ich etwas ändere und erweitere. Mein Problem ist, dass ich in diesem Problem mehrere Ergebnisse geplottet bekomme. Die Ergebnisse werden nacheinander wiedergegeben, jedoch immer wieder im gleichen Fenster. Das heißt, das alte Ergebnis wird gelöscht.
Ich hatte es mit figure (i) ausprobiert, dadurch wurden auch neue Fenster erstellt, aber gezeichnet wurde nur in figure (1), das heißt die alten Plots wurden wieder gelöscht.
Wie kann ich es nun schaffen, das jeder Plot in seinem eigenem Fenster wiedergegeben wird?
Ich poste mal den Abschnitt, in dem die ganzen Darstellungssache implementiert wurde. Dann hat man einen Einblick, was ich so gemacht habe.
Ich hoffe jemand kann mir helfen.
CODE:
%% Plotausgabe: Zeitraum, Frequenzraum
if plotten == 1
for i = 1 : anz
yscal = 1.05*max(max(fs));
if yscal <= 1e-8; yscal = 1; end
%yscal=100;
fengr = get(0,'ScreenSize');
% close all
% figure('Visible','on','NextPlot','replacechildren',...
% 'Position',[20 40 fengr(3)-40 fengr(4)-120]) %[links,unten, Breite, Höhe]
figure(i);
subplot(2+p,1,1);
if m == 3 && anz == 1
plot(t,u0,t(1:n),u); legend('Zeitkurve','Autokorrelation');
else
plot(t(1:length(u)),u); if anz > 1; legend(num2str([1:anz]')); end
end
% title(strcat(a,' -- ',b)); grid on
title(strcat(a,' ',b)); grid on
xlabel('Zeit in s'); ylabel(e);
subplot(2+p,1,2+p);
plot(f,fs);
[a1,a2]=size(a);
if anz>1 && (a1==anz || a2==anz)
legend(a); end
axis([0 fa/2 0 yscal]);
title(''); grid on
xlabel('Frequenz in Hz'); ylabel(strcat('FFT',c));
end
% Plotausgabe: nachbehandelter Frequenzraum
if p == 1;
subplot(2+p,1,2);
plot(f,fw);
axis([0 fa/2 0 yscal]);
title(''); grid on
xlabel('Frequenz in Hz'); ylabel('FFT');
end
%disp(['Datenlänge n =',num2str(n)]);
%disp(['Abtastfrequenz fa=',num2str(fa),'Hz']);
%disp(['Auflösung Frequenzraum df=',num2str(df),'Hz']);
%disp(['',]);
end
%Funktionsende
Vielen Dank schon mal.
Bye
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Hallo,
du hantierst ja auch mit subplot herum. Du willst also mehrere Plots in einem Fenster haben und außerdem mehrere Fenster mit verschiedenen Plots, oder?
Mit dem Codeschnipsel weiß ich nicht allzu viel anzufangen, weil hier in jedem figure dasselbe gezeichnet wird (es ist ncihts von i abhängig).
Vielleicht kannst du dein Problem präzisieren oder den ganzen Code liefern? Ich verstehe nämlich den Sinn des Ganzen nicht...
Gruß
Martin
|
|
|
|