Verfasst am: 08.03.2009, 12:05
Titel: M-File aus Figure erstellen und die dann verwenden??
Guten Morgen liebe Leute,
also fangen wir mal an: ich bin ein echter Rookie, muss aber für ne arbeit in der uni auswertungen mit matlab machen...
meine daten:
ich habe eine datei, in der a) zeit b) Normalkraft c)Reibkraft enthalten sind.
ich lese die daten wie folgt erstmal ein:
Code:
%zu ändernde parameter
data='006_5N_50mm_trocken.lvm'; %datei die eingelesen werden soll
ueberschrift='normal force = 10N, velocity = 1000mm/s, dry'; %Titel des Plots
%feste werte, nur ändern, wenn sich messwertordner ändert (relativ zur *.m-file)
pfad='../messwerte/messwerte/'; %relativer pfad zu den messwerten
file=strcat(pfad,data); %zusammensetzen von pfad und dateiname um in load zu übergeben...
x=load(file); %laden der oben angegebenen datei in matrix x
hold off;
%subplot(2,1,1);plot(x(:,2),muex,'b-',x(:,2),x(:,6),'g-',x(:,2),x(:,5),'r-');xlabel('Zeit t [s]');ylabel('µ, F_R [N], F_N [N]');title(ueberschrift);legend('µ','F_R','F_N');
%erstellen von R(t) und N(t) durch linien
hl2 = line(x(:,2),x(:,6),'Color','r');
hl3 = line(x(:,2),x(:,5),'Color','g');
legend('F_N','F_R');
xlabel('Zeit t [s]');ylabel('F_R (t)[N], F_N (t)[N]');title(ueberschrift);
%erstellen von µ(t) durch dritte linie mit den axen ax2
hl3 = line(x(:,2),muex,'Color','b','Parent',ax2);
legend('µ');
ylabel('µ (t)')
%nach diesem plot müssen die graphen mit dem editor weiterverarbeitet
%werden, damit die obere (zweite) x-achse gelöscht, die skalierung und die
%farben geändert sowie die ausrichtung der legende vorgenommen werden kann.
jetzt möchte ich die daten gern plotten und zwar Kräfte auf die linke y-achse und mü auf die rechte, zeit ist die x-achse. das habe ich auch alles schön hinbekommen, jedoch nur durch fummellei (DATEI_1 im anhang)
Jetzt habe ich 80 dieser dateien, die alle genauso geplottet werden sollen, ich möchte aber nicht bei jeder datei alles selbst hinfummeln, darum habe ich gesehen, dass matlab eine m-file erstellen kann aus deiner figure (=>CREATEFIGURE.M), doch ich habe keine ahnung, wie man bei dieser m-file meine daten einspeist und wie ich diese "FUNCTION" verwenden kann um meine dateien zu plotten
vielen dank für eure hilfe, liebe grüße, christian
DATEI_1.fig
Beschreibung:
So solls aussehn (das habe ich aber im editor so zusammengesetzt...)
Es kommt darauf an, wie du den Plot erstellt hast. Dementsprechend generiert Matlab dann eine createfigure-Funktion.
In den ersten Zeilen dieser Funktion steht dann auch, wie und welche Parameter diese Funktion erwartet, bei dir halt Zeit, my und die beiden Kräfte.
Wenn du nicht weiter kommst postest du am besten mal die entsprechende Funktion createfigure.m
% Create axes
axes1 = axes('Parent',figure1,'YTick',[24681012],...
'Position',[0.130.58380.7750.3412]);
% Uncomment the following line to preserve the X-limits of the axes % xlim([0 8]); % Uncomment the following line to preserve the Y-limits of the axes % ylim([2 12]); box('on');
hold('all');
% Create multiple lines using matrix input to plot
plot1 = plot(X1,YMatrix1,'Parent',axes1);
set(plot1(1),'Color',[010],'DisplayName','F_N (t)');
set(plot1(2),'Color',[100],'DisplayName','F_R (t)');
% Create title title('Normalkraft = 7.5N, Geschwindigkeit = 200mm/s, trocken');
% Create axes
axes2 = axes('Parent',figure1,'YTick',[0.50.60.70.80.91],...
'YAxisLocation','right',...
'Position',[0.130.58380.7750.3412],...
'ColorOrder',[00.50;100;00.750.75;0.7500.75;0.750.750;0.250.250.25;001],...
'Color','none');
% Uncomment the following line to preserve the X-limits of the axes % xlim([0 8]); % Uncomment the following line to preserve the Y-limits of the axes % ylim([0.5 1]); hold('all');
sollte klappen, falls so die entsprechenden Vektoren heißen. Wenn es Zeilenvektoren sind das ; gegen , tauschen.
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.