Verfasst am: 10.08.2009, 17:34
Titel: Probleme mit Curvefitting
Hallo erstmal,
erstmal muss ich erwähnen dass ich ein absoluter Matlab Nooby bin und nun habe ich auch noch die Aufgabe, die zwei unbekannten A und B der Formel p=A*e^(B/T) herauszufinden (wohl über Annäherung). Dazu steht mir eine Tabelle mit p's und T's zur Verfügung.
Ich habe jetzt versucht über Curve Fitting Tool (das ja ein Interface hat) anzunähern (mit Gauss Newton), was eigentlich auch echt gut geklappt hat. Ich wollte dann das Ganze exportieren (Generating m-File) weil ich es in Skript brauche, aber nun funktioniert es nicht im Command Fenster. Letztlich ist es meine Aufgabe A und B auszulesen und dann den Graphen für die herausgefundenen Werte zu plotten (was eigentlich nicht das Problem sein sollte). Nun mal der Code aus der m-file (der bei mir im Command Window keinen Graphen plottet):
function fit44(T,p)
Code:
%FIT44 Create plot of datasets and fits
% FIT44(T,P) % Creates a plot, similar to the plot in the main curve fitting % window, using the data that you provide as input. You can % apply this function to the same data you used with cftool % or with different data. You may want to edit the function to % customize the code and this help message.
%
% Number of datasets: 1 % Number of fits: 1
% Data from dataset "p vs. T": % X = T: % Y = p: % Unweighted
%
% This function was automatically generated on 10-Aug-2009 17:31:36
% Set up figure to receive datasets and fits
f_ = clf;
figure(f_);
set(f_,'Units','Pixels','Position',[685308680484]);
legh_ = []; legt_ = {}; % handles and text for legend
xlim_ = [Inf -Inf]; % limits of x axis
ax_ = axes;
set(ax_,'Units','normalized','OuterPosition',[0011]);
set(ax_,'Box','on');
axes(ax_); hold on;
% --- Plot data originally in dataset "p vs. T"
T = T(:);
p = p(:);
h_ = line(T,p,'Parent',ax_,'Color',[0.33333300.666667],...
'LineStyle','none', 'LineWidth',1,...
'Marker','.', 'MarkerSize',12);
xlim_(1) = min(xlim_(1),min(T));
xlim_(2) = max(xlim_(2),max(T));
legh_(end+1) = h_;
legt_{end+1} = 'p vs. T';
Hoffe ihr könnt mir hier helfen, es ist auch noch ziemlich eilig
Danke schon einmal
redeemer
redeemer
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 10.08.2009, 17:46
Titel:
sorry, des war der falsche Code, der wars:
Code:
%FIT44 Create plot of datasets and fits
% FIT44(T,P) % Creates a plot, similar to the plot in the main curve fitting % window, using the data that you provide as input. You can % apply this function to the same data you used with cftool % or with different data. You may want to edit the function to % customize the code and this help message.
%
% Number of datasets: 1 % Number of fits: 1
% Data from dataset "p vs. T": % X = T: % Y = p: % Unweighted
%
% This function was automatically generated on 10-Aug-2009 17:31:36
% Set up figure to receive datasets and fits
f_ = clf;
figure(f_);
set(f_,'Units','Pixels','Position',[685308680484]);
legh_ = []; legt_ = {}; % handles and text for legend
xlim_ = [Inf -Inf]; % limits of x axis
ax_ = axes;
set(ax_,'Units','normalized','OuterPosition',[0011]);
set(ax_,'Box','on');
axes(ax_); hold on;
% --- Plot data originally in dataset "p vs. T"
T = T(:);
p = p(:);
h_ = line(T,p,'Parent',ax_,'Color',[0.33333300.666667],...
'LineStyle','none', 'LineWidth',1,...
'Marker','.', 'MarkerSize',12);
xlim_(1) = min(xlim_(1),min(T));
xlim_(2) = max(xlim_(2),max(T));
legh_(end+1) = h_;
legt_{end+1} = 'p vs. T';
was funktioniert nicht? Ich habe die zwei Zeilen für p und T kopiert und ausgeführt, dann den unteren Code kopiert und ausgeführt und ein nettes Bild bekommen ...
Titus
redeemer
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 12.08.2009, 05:52
Titel:
ok des scheint bei mir jetzt auch zu funktionieren jedoch habe ich nun das Problem, dass ich einen cfit brauche, weil ich sonst die Coeffizienten in meiner Gleichung nicht auslesen kann (coeffvalues). Da ich aber keine Ahnung vom Codeschreiben hab und das auch mit mehrmaligem Probieren nicht hinbekommen hab, kann evtl jemand von euch den Code so abändern, dass ich die coeffvalues auch noch auslesen kann? Dann wäre ich wirklich beruhigt
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.