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

Plot cfit object

 

Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.08.2009, 12:22     Titel: Plot cfit object
  Antworten mit Zitat      
Hallo,

ich habe ein Kurven Fitting mit einer "custom equation" gemacht (mit Hilfe von cftool) und das Fitergebnis im workspace gespeichert als ein cfit Objekt. Jetzt möchte ich gerne die gefittete Kurve mit plot anzeigen lassen (nicht im cftool). Wie kann ich das tun?

VG
Stefan


steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 12.08.2009, 13:19     Titel:
  Antworten mit Zitat      
Moin,

das geht einfach über
Code:


Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
DerLola
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 16.09.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.11.2014, 14:16     Titel:
  Antworten mit Zitat      
Hi,

ich möchte ungern ein neues Thema aufmachen, daher frage ich das mal hier.

Wie kann ich denn jetzt die gefittete Funktion nur im Bereich der Originalwerte anzeigen lassen? Mit oben genanntem Befehl ist die Kurve dann ja unendlich lang...

Würde mich über eine Antwort freuen!
Private Nachricht senden Benutzer-Profile anzeigen
 
Seban
Forum-Meister

Forum-Meister


Beiträge: 600
Anmeldedatum: 18.01.12
Wohnort: ---
Version: ab R2014b
     Beitrag Verfasst am: 04.11.2014, 00:27     Titel:
  Antworten mit Zitat      
Code:
plot(deinObj(untereGrenze:obereGrenze))

so?

Grüße,
Seban
_________________

Richtig fragen
Debugging
Private Nachricht senden Benutzer-Profile anzeigen
 
DerLola
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 16.09.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.11.2014, 08:19     Titel:
  Antworten mit Zitat      
hmm, das wäre sehr schön gewesen, leider wird so garnichts mehr geplottet... die Legende erscheint, aber kein Graph.


Code:
   for p=1:anzFigFreq;
       
       E1=plot (curves{p,XX}(-0.2:0));
       xlim([0,0.5]);
       ylim([-0.5,0]);
       set(E1,'Color',Colour(p,:),'DisplayName',[Uebersicht{p*laengeReihe,2} '' Uebersicht{p*laengeReihe,3}]);
       legend('-DynamicLegend');
       hold all;
    end


und

Code:
   for p=1:anzFigFreq;
       
       E1=plot (curves{p,XX}(0:0.2));
       xlim([0,0.5]);
       ylim([-0.5,0]);
       set(E1,'Color',Colour(p,:),'DisplayName',[Uebersicht{p*laengeReihe,2} '' Uebersicht{p*laengeReihe,3}]);
       legend('-DynamicLegend');
       hold all;
    end


haben keinen Erfolg.
Private Nachricht senden Benutzer-Profile anzeigen
 
Seban
Forum-Meister

Forum-Meister


Beiträge: 600
Anmeldedatum: 18.01.12
Wohnort: ---
Version: ab R2014b
     Beitrag Verfasst am: 07.11.2014, 08:19     Titel:
  Antworten mit Zitat      
Hallo,

Code:
E1=plot (curves{p,XX}(-0.2:0));

In dieser Zeile dürfte der Fehler liegen.

Code:
E1=plot (curves{p,XX}(start:ende));

Für start und ende musst du Indizes eingeben, nicht die Grenzen.

Ein Bsp.:
Code:
x = -10:0.1:10;
y = sin(x) .* x.^2;

% Gesamter Bereich
plot(x, y)

% Gewünschter Bereich
start_idx   = find(x==-2);
end_idx     = find(x==8);
figure;
plot(x(start_idx:end_idx), y(start_idx:end_idx))

% Oder mit logischem Vektor
log_x = -2 <= x & x <= 8;  % 1 für Werte zw. -2 & 8, sonst 0
figure;
plot(x(log_x), y(log_x))

Hoffe, ich hab's richtig verstanden.

Grüße,
Seban
_________________

Richtig fragen
Debugging
Private Nachricht senden Benutzer-Profile anzeigen
 
DerLola
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 16.09.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.11.2014, 12:01     Titel:
  Antworten mit Zitat      
Hallo Seban,

ja ich glaube so ungefähr habe ich es jetzt auch umgesetzt.
Das Problem war, dass mein x-array zu "kurz" war.

Ich habe mir also einfach mit linspace ein array von xmin bis xmax generiert, dazu dann y-erstellt und geplottet.

Code:

for p=1:anzFigFreq;
       
    hilfe1=Datenbank(XX,:);
    x_bereich=linspace(hilfe1(2*uebersichtzaehler+1),hilfe1(p*laengeReihe*2),1000);
    x_bereich_regression=hilfe1(2*uebersichtzaehler+1:2:(p*laengeReihe*2));
    y_bereich_regression=curves{p,XX}(x_bereich);    
       
       E1=plot (x_bereich,y_bereich_regression);
       set(E1,'Color',Colour(p,:),'DisplayName',[Uebersicht{p*laengeReihe,2} '' Uebersicht{p*laengeReihe,3}]);
       legend('-DynamicLegend');
       hold all;
       uebersichtzaehler=uebersichtzaehler+laengeReihe;
    end

 


Oder mal vereinfacht, da mein Code eigentlich nur für mich verstädnlich ist glaube ich Very Happy

Code:

x_bereich=linspace(xmin,xmax,1000);
y_bereich=cfitobj(x_bereich);
plot(x_bereich,y_bereich);
 
Private Nachricht senden Benutzer-Profile anzeigen
 
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 - 2025 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.