Ich habe ein Problem mit einem Plot, wobei ich die zu plottenden Daten mit der fit Fuktion erzeugt, sprich ein cfit object zurückbekomme.
Konkreter möchte ich gerne den geplotteten Graph ab einem bestimmten Wert "abschneiden". Das sollte kein Problem darstellen, wenn ich einfach zwei Vektoren plotte, dann würde ich einfach die Vektoren "kürzen". Allerdings bin ich nicht sehr gut mit den cfit objekten vertraut und weiß leider nicht auf welche Daten ich dort zugreifen muss.
Meine Frage also: Was muss ich tun um meinen Plot, dessen Daten aus einem cfit object bestehen, ab einem bestimmten Wert abzuschneiden?
Die jeweiligen codes dazu sehen folgendermaßen aus:
1. Übergabe der Daten an die Fit funktion sowie die plot funktion
2. Interpolieren der Messdaten mit der fit funktion
Code:
function[fitresult] = Fit_ALMG_E(Strain_3ALMG_E, Load_3ALMG_E)
%CREATEFIT2(STRAIN_3ALMG_E,LOAD_3ALMG_E) % Create a fit.
%
% Data for 'Kraft-Dehnung' fit: % X Input : Strain_3ALMG_E % Y Output: Load_3ALMG_E % Output: % fitresult : a fit object representing the fit. % gof : structure with goodness-of fit info.
%
% See also FIT, CFIT, SFIT.
% Auto-generated by MATLAB on 16-May-2017 10:22:59
3.Plotten der interpolierten Daten mit der plot funktion
Code:
function[] = Plotten(Name, Graph1, Graph2, Graph3, Graph4,x_length,y_length,x_step,y_step)
%Erzeugt einen Plot der vier uebergebenen Graphen in einer Figure und
%beschriftet die figure entsprechend
%Figure figure('Name',Name,'NumberTitle','off');
%Axis setup
%ax=axes();
%ax.XLim=[0 x_length];
%ax.YLim=[0 y_length];
%ax.XTick=0:x_step:x_length;
%ax.YTick=0:y_step:y_length;
%Plots
plot1handle=plot(Graph1);
hold on
plot2handle=plot(Graph2);
plot3handle=plot(Graph3);
plot4handle=plot(Graph4);
hold off
% Set Color set(plot1handle,'Color',[0.8500,0.3250,0.0980],'LineWidth',1.2);
set(plot2handle,'Color',[0.4660,0.6740,0.1880],'LineWidth',1.2);
set(plot3handle,'Color',[0.4940,0.1840,0.5560],'LineWidth',1.2);
set(plot4handle,'Color',[0,0.4470,0.7410],'LineWidth',1.2);
% Titel
t=title(['Zugversuch ', Name]);
t.FontSize=14;
% Label axes xlabel( 'Dehnung' );
ylabel( 'Kraft [kN]' );
% Grid grid on
set(gca,'GridLineStyle','-');
set(gca,'Layer','bottom');
Layer = 'bottom';
% Legend legend('Gruppe 3','Gruppe 4','Gruppe 5','Gruppe 6','Location','northeastoutside');
lgd = legend('show');
lgd.FontSize=12;
title(lgd,'Legende:');
legend('boxoff');
Ich würde mich wirklich freuen, wenn mir einer hierbei weiterhelfen könnte.
Grüße
Fenti
P.S.: Ich habe es schon mal mit der coeffvalues() funktion probiert, allerdings weiß ich nicht wie ich die Daten, die ich dadurch erhalte, weiter zu verwenden habe. Mir ist leider nicht ersichtliche hinter welchen Daten sie die x und y Werte verbergen.
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.