|
|
Matlab OOP Neuling - Wie auf Objekt-Property zugreifen? |
|
Untitled.m |
Forum-Anfänger
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 01.08.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.05.2016, 10:07
Titel: Matlab OOP Neuling - Wie auf Objekt-Property zugreifen?
|
|
|
|
|
Hallo zusammen,
ich wollte heute erstmalig in Matlab etwas objektorientiertes programmieren. Es geht um die Modellierung einer nichtlinearen Kennlinie von Verstärkerstufen in Sättigung. Dafür wollte ich das Objekt distortion anlegen, welches einmal mit der Methode design_curve sich selbst anhand der Übergabeparameter eine stückweise definierte Funktionsvorschrift erstellt, welche die gewünschte Kurve beschreibt und andererseits mit der Methode compute_vector die Ausgangsergebnisse eines Vektors mit n Eingangssamples bearbeitet durch die zuvor designte Funktion zurückgibt.
In den Properties stehen nun alle Parameter die meine Funktion beschreiben. Diese sind beim Anlegen des Objekts d=distortion leer und sollten mit erstmaligem Aufruf von d.design_curve gefüllt werden.
Nun funktioniert der Aufruf von d.design_curve schon, einige ausgaben zwischendurch zeigen mir, dass dort auch das geschieht was ich vorhabe. Aber nach dem Aufruf sind die Properties von d immer noch leer.
Wenn ich die Tutorials richtig verstanden habe, braucht ja jede Funktion den übergabeparameter obj, der quasi ein Zeiger auf mein Objekt ist und den Aufruf im Stil von d.design_curve erst möglich macht. Wenn ich nun innerhalb der Funktion obj.irgendeinProperty aufrufe entspricht das in etwa einem this.irgendeineVariable in C++ (C++ ist bisher die einzige objektorientierte Sprache die ich halbwegs flüssig "spreche"), richtig? Scheinbar funktioniert aber diese Referenz auf das Property des Objekts warum auch immer in meinem Code nicht.
Was jedoch funktioniert ist ein Aufruf vom Typ d=d.design_curve(...) nachdem ich die erste Funktion zu function obj=design_curve(obj, shape, m_sat, y_sat) geändert habe. Aber das wird ja kaum der gedachte Synthax sein
Ich bin mir sicher, das ist ein simpler Fehler und freue mich über Hilfe.
Anbei noch der Code - Derzeit nur das Grundgerüst, Inhalt kommt rein wenn es dann funktioniert
|
|
|
|
|
|
|
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 - 2024
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.
|
|