WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

M-File aus Figure erstellen und die dann verwenden??

 

ceejay85
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 08.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.03.2009, 12:05     Titel: M-File aus Figure erstellen und die dann verwenden??
  Antworten mit Zitat      
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


 




mü rechne ich mir in einer schleife aus:

Code:

%mue ist vektor mit mue(i)=R(i)/N(i)
for i=1:1:length(x(:,1))
    muex(i,1)=x(i,6)/x(i,5);
end
 


mein plot wird wie folgt erzeugt:

Code:

%plotten von µ(t), R(t), N(t)

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);

ax1 = gca;
set(ax1,'XColor','k','YColor','k')

ax2 = axes('Position',get(ax1,'Position'),...
           'XAxisLocation','top',...
           'YAxisLocation','right',...
           'Color','none',...
           'XColor','b','YColor','b');

%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...)

Download
 Dateiname:  DATEI_1.fig
 Dateigröße:  354.83 KB
 Heruntergeladen:  704 mal
Private Nachricht senden Benutzer-Profile anzeigen


Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.03.2009, 13:23     Titel:
  Antworten mit Zitat      
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
 
ceejay85
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 08.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.03.2009, 22:49     Titel:
  Antworten mit Zitat      
hi, ja also die m-file lautet:

Code:

function createfigure1(X1, YMatrix1, Y1)
%CREATEFIGURE1(X1,YMATRIX1,Y1)
%  X1:  vector of x data
%  YMATRIX1:  matrix of y data
%  Y1:  vector of y data

%  Auto-generated by MATLAB on 08-Mar-2009 21:48:15

% Create figure
figure1 = figure('PaperSize',[20.98 29.68]);

% Create axes
axes1 = axes('Parent',figure1,'YTick',[2 4 6 8 10 12],...
    'Position',[0.13 0.5838 0.775 0.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',[0 1 0],'DisplayName','F_N (t)');
set(plot1(2),'Color',[1 0 0],'DisplayName','F_R (t)');

% Create ylabel
ylabel('F_N [N], F_R [N]');

% Create xlabel
xlabel('Zeit t [s]');

% Create title
title('Normalkraft = 7.5N, Geschwindigkeit = 200mm/s, trocken');

% Create axes
axes2 = axes('Parent',figure1,'YTick',[0.5 0.6 0.7 0.8 0.9 1],...
    'YAxisLocation','right',...
    'Position',[0.13 0.5838 0.775 0.3412],...
    'ColorOrder',[0 0.5 0;1 0 0;0 0.75 0.75;0.75 0 0.75;0.75 0.75 0;0.25 0.25 0.25;0 0 1],...
    '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');

% Create plot
plot(X1,Y1,'Parent',axes2,'Color',[0 0 1],'DisplayName','µ (t)');

% Create ylabel
ylabel('µ','VerticalAlignment','cap');

% Create legend
legend(axes1,'show');


 


die eingangsgrößen sind ja x1 (zeit), ymatrix1 (die kräfte) und y1 (mü) aber wie kann ich die kräfte in die ymatrix1 reinbekommen?

lg, christian
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.03.2009, 23:58     Titel:
  Antworten mit Zitat      
Code:
createfigure(t,[f_n;f_r],mu)
sollte klappen, falls so die entsprechenden Vektoren heißen. Wenn es Zeilenvektoren sind das ; gegen , tauschen.
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.