|
pariser |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.04.2013, 17:38
Titel: Objekte oder cells
|
|
Hallöchen,
Ich möchte gerneObjekte verwenden, dabei soll es wie folgt aufgebaut werden
Auto.kraftfahrzeugstypen.auto.räder = 4
Auto.kraftfahrzeugstypen.auto.farbe = rot
und so weiter und anschließend
Auto.kraftfahrzeugstypen.motorad.räder = 4;
Auto.kraftfahrzeugstypen.motorad.farbe = blau
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 06.04.2013, 18:01
Titel:
|
|
Hallo,
und was genau ist nun die Frage?
Man kann hier Strukturen oder Objekte sinnvoll verwenden.
Entscheidend ist die Frage, was man mit den Konstrukten dann anstellen will.
Grüße,
Harald
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.04.2013, 18:39
Titel:
|
|
Ich möchte jetzt bestimmte eigenschaften definieren, also die variablen mit bestimmten werten initialisieren, anschleißend will ich es meinen kommilitonnen geben, die sollen nur noch die werte ändern können, um ein zuvor erstelltes programm aufzurufen.
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.04.2013, 18:45
Titel:
|
|
TYP.Auto(1).Name = 'VW';
TYP.Auto(1).konstante = 30;
TYP.Auto(1).schaden= 0;
TYP.Motorad(1).Name = 'Suzuki';
TYP.Motorad(1).konstante = 30;
TYP.Motorad(1).schaden= 0;
TYP.Traktor(1).Name = 'Aebi';
TYP.Traktor(1).konstante = 30;
TYP.Traktor(1).schaden= 0;
Ich hab es jetzt so definiert... ich habe eine Simulations funktion, als unterprogramm.. ich möchte auto, motorad, traktor in der schleife aufrufen und die variablen abfangen und in die funktion übergeben.
function(Name, konstante, schaden, ...)
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 06.04.2013, 20:36
Titel:
|
|
Hallo,
das klingt so, als ob Objekte sinnvoll sein könnten.
Mir scheint es allerdings naheliegender, die Art des Fahrzeugs (Auto, Motorrad, Traktor) auch als Eigenschaften zu definieren - sofern die Simulation nicht sehr stark unterscheidet, um welche Art Fahrzeug es sich handelt. Wenn es starke Unterschiede gibt, könnte es sinnvoller sein, eine Klasse Fahrzeug zu definieren und Klassen Auto, Motorrad und Traktor davon zu vererben.
Die Simulationsfunktion wäre in jedem Fall eine Methode.
Sofern du das noch nicht getan hast, würde ich mich mal von vorne in die objektorientierte Programmierung mit MATLAB einlesen.
http://www.mathworks.com/help/relea.....oriented-programming.html
Grüße,
Harald
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.04.2013, 21:13
Titel:
|
|
danke für den hinweis...
ich hab mich in das thema schon eingelesen, und mein ansatz wollte ich jetzt mal testen... wie würdest du es denn machen...
was meinst du mit objekten...
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 06.04.2013, 21:15
Titel:
|
|
Hallo,
Zitat: |
und mein ansatz wollte ich jetzt mal testen... |
Das ist eine gute Idee.
Zitat: |
wie würdest du es denn machen... |
Das hängt wie gesagt von deiner Simulationsfunktion ab.
Zitat: |
was meinst du mit objekten... |
Die Frage klingt nun etwas merkwürdig, wo du doch sagst, dass du dich mit dem Thema beschäftigt hast? Kannst du das etwas präzisieren?
Grüße,
Harald
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.04.2013, 21:38
Titel:
|
|
Ich hab jetzt eine m-file in der folgende Einstellungen gemacht werden...
TYP.Auto(1).Name = 'VW';
TYP.Auto(1).konstante = 30;
TYP.Auto(1).schaden= 0;
TYP.Motorad(1).Name = 'Suzuki';
TYP.Motorad(1).konstante = 30;
TYP.Motorad(1).schaden= 0;
TYP.Traktor(1).Name = 'Aebi';
TYP.Traktor(1).konstante = 30;
TYP.Traktor(1).schaden= 0;
im Hauptprogramm möchte ich jetzt meine Funktion aufrufen, die soll eigentlich in der schleife
im ersten Durchlauf auto-variablen an die Funktion übergeben
im zweiten lauf motorad variablen übergeben.
meine frage ist es jetzt, ob ich es effizienter ausbauen könnte und wie ich es in der schleife am besten die variablen anspreche...
ich verstehe leider nicht, was du nicht verstehst... könntest du konkret was fragen.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 06.04.2013, 21:55
Titel:
|
|
Hallo,
du hast dich also doch entschieden, mit Strukturen zu arbeiten - okay.
Das Format der Strukturen ist meines Erachtens eher ungünstig. Was ich machen würde:
etc.
Dann kannst du problemlos über die Komponenten iterieren:
In der Funktion kannst du dann mit der Punktnotation auf die Feler zugreifen.
Grüße,
Harald
|
|
|
filteredData |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.04.2013, 22:01
Titel:
|
|
jetzt bin ich bissl verwirrt.
findest du die verwendung von strukuren ungünstig oder den meinen aufbau...
da wäre die frage, ob es mit objekten effizienter wäre
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 06.04.2013, 22:12
Titel:
|
|
Hallo,
Zitat: |
findest du die verwendung von strukuren ungünstig oder den meinen aufbau... |
Deinen Aufbau. Ich verwende ja in meinem Vorschlag selbst Strukturen.
Zitat: |
da wäre die frage, ob es mit objekten effizienter wäre |
Effizienter nicht, lediglich formaler und strukturierter.
Grüße,
Harald
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.04.2013, 16:26
Titel:
|
|
könntst du vielleicht, falls du zeit hast, das beispiel in objekten wandeln. Danke
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 07.04.2013, 16:52
Titel:
|
|
Hallo,
mach doch mal den Anfang. Bei Problemen helfe ich gerne.
Vor allem solltest du dir, bevor du anfängst, überlegen, wie das ganze sinnvoll aufzubauen ist - siehe auch mein Kommentar von gestern, 21:36 (erster Teil).
Grüße,
Harald
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 08.04.2013, 09:00
Titel:
|
|
Hallo,
Falls es noch nicht klar ist: Harald's Vorschlag zum Aufbau des Structs hat einen großen Vorteil:
Bei Harald's Vorschlag wird der Typ des Autos nicht als Name des Feldes dargestellt, sondern als Wert des Felds "Typ". Die Namen der Variablen und Felder sollten möglichst abstrakt die Klasse der enthaltenen Daten beschreiben, aber selbst keine problem-relevante Information tragen. Die Namen selbst als Träger einer Information zu verwenden wäre eine Art Meta-Programming und ebenso sinnvoll, wie z.B. jeden Morgen seinen eigenen Namen zu ändern und das aktuelle Körpergewicht anzuhängen. Das erlaubt zwar ganz bestimmte Fragen effizient zu lösen, aber effizient ist das nicht.
Gruß, Jan72.3kg
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.04.2013, 13:55
Titel:
|
|
Ich hab mich jetzt nun für folgende Struktur entschieden
ich möchte nun beispielsweise beispielsweise schön immer die variablen ansprechen und in der schleife der definierten funktion übergeben
|
|
|
|
Gehe zu Seite 1, 2 Weiter
|
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.
|
|