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

Verbinden mehrerer Funktionen

 

Platin
Forum-Century

Forum-Century


Beiträge: 174
Anmeldedatum: 07.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.06.2010, 12:05     Titel: Verbinden mehrerer Funktionen
  Antworten mit Zitat      
Hallöchen an alle,

ich bin totaler Newbie und mir schwirrt da eine Idee im Kopf rum, nur weiß ich nicht recht wie ich das praktisch ausführen kann und bitte euch deshalb um Beistand ^^.
Also, ich habe einen ganz bestimmten Funktionsverlauf im Kopf. Dieser zeichnet sich dadurch aus, das er sich aus 3-4 einzelnen Funktionsverläufen zusammensetzt. Nur als kleines Bsp, damit man weiß, was ich damit meine. Ich weiß zum Bsp, das sich meine Funktion Anfangs, zB. von 0-5 wie eine Konstante verhält, sagen wir mal F(x)=10. Dann, im Bereich zwischen 5 und 15 fällt sie linear ab, bis auf 2. Im Bereich zwischen 15 und 35 steigt sie quadratisch an usw... Ich kenne also die einzelnen Funktionen. Nun möchte eben aus diesen meinen charakteristischen Verlauf erstellen.
Ich habe mich mal ein wenig belesen und habe herausgefunden das ich wahrsheinlich mit dem Befehl "function" arbeiten muss und dann habe ich mir gedacht das ich mit dem "if" befehl oder "for", das weiß ich noch nicht so recht, die einzelnen Funktionen verbinden kann.
Also, so das ich sage, meine Funktion =f(x). Dann muss ich irgendwie auch noch meine anderen Funktionen definieren. also für den ersten Bereich zB. G(x)=10, usw..
So das ich sagen kann, For x zwischen 0 und 5 F(x)=G(x);
For x zwischen 5 und 10 F(x) = h(x) usw...
h(x) ist dann ggf die lineare funktion und die anderen muss ich alle auch noch definieren.
Mein Problem ist, das ich erstens nicht weiß ob das geht und 2. wenn es geht wie ich das fomell umsetzen kann.

Könnt ihr mir helfen.
Private Nachricht senden Benutzer-Profile anzeigen


LittleX
Forum-Guru

Forum-Guru


Beiträge: 494
Anmeldedatum: 14.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.06.2010, 12:38     Titel:
  Antworten mit Zitat      
Hallo,

möchtest Du so etwas in der Art machen?

Code:

function y = foo
x = 1:20;
y = x;

y(x<=5) = f1(x(x<=5));
y(x>5&x<=10) = f2(x(x>5&x<=10));
y(x>10) = f3(x(x>10));

function a = f1(b)
a = 2*b;

function a = f2(b)
a = b-2;

function a = f3(b)
a = b.^2;
 


Viele Grüße,

LittleX
Private Nachricht senden Benutzer-Profile anzeigen
 
Platin
Themenstarter

Forum-Century

Forum-Century


Beiträge: 174
Anmeldedatum: 07.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.06.2010, 16:25     Titel:
  Antworten mit Zitat      
Hey Alex,

danke dir, werden ich Montg gleich mal testen und dir posten ob das alles so ging.
Was meinst du eigentlich am Anfang mit foo ?

Viele Grüße zurück
Private Nachricht senden Benutzer-Profile anzeigen
 
Platin
Themenstarter

Forum-Century

Forum-Century


Beiträge: 174
Anmeldedatum: 07.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.07.2010, 20:35     Titel:
  Antworten mit Zitat      
Hey,

also ich habe jetzt 4 Bereiche und für jeden Bereich eine Funktion definiert.
In dem 1. Beeich=const, im 2. = quadratisch usw...
Und wie mache ich das wenn Matlab einige Parameter (A,B) sich aus einem .txt file ziehen soll, so das ich imme nur den .txt file ändern muss und ich sofort einen geänderten funktionsverlauf rausbekomme.
Die Parameter bestimmen wo die einzelnen Funktionen anfangen bzw enden. also das ich um bsp sage, funktion A beginnt jetzt bei x=3 und endet bei x=5 und die 3 und 5 möchte ich in einem .txt file vorgeben.

Danke euch!
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.