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

Geteilte Funktion definieren

 

web277p9
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 23.05.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.05.2012, 09:32     Titel: Geteilte Funktion definieren
  Antworten mit Zitat      
Hey,
ich bin noch nicht sehr vertraut mit Matlab. Ich möchte eine Funktion plotten lassen, die sich aus vier Teilen zusammensetzt.
Zunächst ein exponentieller Anstieg, von dort aus ein linearer Anstieg, es folgen wieder zwei gedrehte und verschobene exponentielle Teile.

Das gewünschte Aussehen der Funktion habe ich angehängt.

Dafür habe ich folgendes in Matlab programmiert:
Code:

clc
clearvars

x_0 = 6.1;
y_0 = 5.6;
x_1 = 24.4;
y_1 = 50.9;
x_2 = 30.6;
y_2 = 56.5;
x_3 = 36.7;
y_3 = 50.9;

m =(y_1 - y_0)/(x_1 - x_0);
a = y_0 *(x_0)^(m * x_0 / y_0);
b = m* x_0 / y_0;
c = y_0 - (m * x_0);

X(1)=0;

for i=1:1:500
    X(i+1)=X(i)+0.1;
   
    if X(i+1)<6.1
        Y(i+1) = (a*X(i+1)^b);
   
        else if X(i+1)<24.4    
            Y(i+1)=(m * X(i+1) + c)
   
        else if X(i+1)<30.6
            Y(i+1)= -(a*(-X(i+1)+x_2)^b)+y_2;
   
        else if X(i+1)<36.7
            Y(i+1)= -(a*(X(i+1)-x_2)^b)+y_2;
   
        else
            Y(i+1)=0;
        end
        end
        end
    end
end

plot (X,Y)
 


Allerdings funktioniert die Kurvenverschiebung nicht wirklich, da kann es aber gut sein, dass ich einen Fehler gemacht habe.
Viel verwirrender finde ich, warum der lineare Teil nicht angewendet wird...

Hat jemand eine Idee?

Vielen Dank und viele Grüße!
web

Funktion.png
 Beschreibung:
Laut Excle soltle die Funktion so aussehen:

Download
 Dateiname:  Funktion.png
 Dateigröße:  12.72 KB
 Heruntergeladen:  535 mal
Private Nachricht senden Benutzer-Profile anzeigen


web277p9
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 23.05.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.05.2012, 12:30     Titel:
  Antworten mit Zitat      
Fehler gefunden...
ein (-) vor dem m in der Gleichung für a!
Code:

a = y_0 * x_0 ^(-m * x_0 / y_0);
 
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.