|
babsi87 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.02.2014, 15:00
Titel: Trapezfunktion
|
 |
Hallo zusammen,
ich probiere gerade die vordefinierte Funktion zur Berechnung der 'Trapezoidal membership function' etwas umzuändern, damit diese meiner Definition entspricht.
Die 'neue' Definition wäre: trap(x, a,b,s,t)
x = 0:50;
a = 20, b = 45, s = 5, t = 5
und ist definiert:
0 --> x < (a-s) oder x > (b+t)
(x-a+s)/s --> (a-s) <=x <= a
(b+t-x)/t --> b <= x <= (b+t)
1 --> a <= b <= b
Ich hab jetzt probiert, die Indize herauszufinden, bei denen die Bedingungen stimmen.
Ich bekomme für die y-Werte 3 unterschiedlich lange Vektoren. Nur jetzt weiß ich nicht mehr weiter. Wie kann ich jetzt die y-Vektoren miteinander kombinieren, dass ich am Ende eine Trapezfunktion rausbekomme, wie in der vordefinierten Funktion 'trapmf'?
LG.
Babsi
|
|
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.02.2014, 16:50
Titel:
|
 |
hallo zusammen,
mit zeros hab ich jetzt bei allen drei vektoren die gleiche länge. in der vordefinierten funktion steht, dass zum schluss y mit min(y1,y2) berechnet wird, nur hab ich jetzt drei y-vektoren. leider weiß ich nicht so ganz wie ich das jetzt angehen soll, damit ich am ende meine neu-defininierte trapezfunktion rausbekomme. Bzw. bin ich mir nicht recht sicher, ob der obere ansatz überhaupt stimmt.
Hoffe einer von euch kann mir helfen.
Thx,
babsi
|
|
|
Seban |

Forum-Meister
|
 |
Beiträge: 600
|
 |
|
 |
Anmeldedatum: 19.01.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ab R2014b
|
 |
|
|
 |
|
Verfasst am: 05.02.2014, 17:20
Titel:
|
 |
Hallo Babsi,
Ich habe gerade hier ein Beispiel gepostet, das zeigt wie man Funktionen für verschiedene Wertebereiche berechnen kann. Hilft dir das weiter?
Grüße,
Seban
_________________
Richtig fragen
Debugging
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.02.2014, 19:58
Titel:
|
 |
hallo,
ja, danke das hilft. Komisch ist nur, dass bei der dritten Variante bei mir was anderes rauskommt, als bei der zweiten.
Das Konzept müsste doch auch funktionieren, wenn ich drei y(t) Bereiche habe. Ich addiere den dritten dann einfach dazu?
LG. babsi
|
|
|
Seban |

Forum-Meister
|
 |
Beiträge: 600
|
 |
|
 |
Anmeldedatum: 19.01.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ab R2014b
|
 |
|
|
 |
|
Verfasst am: 05.02.2014, 20:08
Titel:
|
 |
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.02.2014, 20:17
Titel:
|
 |
sorry, bin auch schon ganz verwirrt
Bei Variante 1 funktioniert es, da sieht der Plot plausibel aus und der Wertebereich stimmt, sollte zwischen 0 und 1 liegen.
Bei der 2. jedoch liegen die Werte zwischen 0 und 2. Irgendwie steh ich gerade voll auf der Leitung!!
Danke.
LG. Babsi
|
|
|
Seban |

Forum-Meister
|
 |
Beiträge: 600
|
 |
|
 |
Anmeldedatum: 19.01.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ab R2014b
|
 |
|
|
 |
|
Verfasst am: 05.02.2014, 21:08
Titel:
|
 |
Deine Wertebereiche sind nicht eindeutig, du berechnest für einige x mehrere y. Mit den if-Anweisungen fällt das nicht auf, da nur Berechnungen für die erste wahre Bedingung ausgeführt werden. In der vektoriellen Form hingegen werden alle Werte berechnet und fließen in die Summe ein, sofern die logische Bedingung erfüllt ist. Durch die Uneindeutigkeit "überlagern" sich die Berechnungen quasi.
Hier wird das deutlich:
_________________
Richtig fragen
Debugging
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| 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.
|
|