|
|
|
Function - irgendwas fehlt |
|
| Absolut_Beginner |

Forum-Anfänger
|
 |
Beiträge: 46
|
 |
|
 |
Anmeldedatum: 27.05.17
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.05.2017, 09:19
Titel: Function - irgendwas fehlt
|
 |
Hallo an alle,
habe hier noch nie geschrieben, und bin auch eher ein richtiger Neuling. Seis also bitte nachsichtig mit mir...
Und zwar möchte ich mehrere (über 100) txt.Dateien einlesen mithilfe einer Function.
jedoch bringt er mir jedes Mal die Fehlermeldung," Not enough input arguments."
Ich bin grade am verzweifeln, weiß nicht wo das Problem liegen könnte.
Ich möchte natürlich,dass die Dateien sich automatisch einlesen, sie heißen 1_1_1 dann 1_1_2 etc die 1 in der Mitte bleibt immer gleich die erste und 3 Zahl wechselt immer durch.
DIe einzelnen Dateien besehen aus 3 Spalten und 11 Zeilen.
HIer mein Versuch:
Was mache ich falsch...?
Liebe Grüße
[EDITED, Jan, Bitte code-Umgebung verwenden - Danke!]
|
|
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 27.05.2017, 19:20
Titel:
|
 |
Hallo,
"untitled" ist ein ungewöhnlicher Funktionsname.
Die entscheidende Frage ist: wie rufst du die Funktion auf? Der "Run"-Button kann hier beispielsweise nicht funktionieren, da die Funktion ja zwei Eingabeargumente erwartet.
Um den Pfad zusammenzusetzen, würde ich den
fullfile
-Befehl empfehlen.
Grüße,
Harald
|
|
|
|
| Absolut_Beginner |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 46
|
 |
|
 |
Anmeldedatum: 27.05.17
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.05.2017, 20:50
Titel:
|
 |
mhm..zwei Eingabeargumente? d.h. ? sorry, aber irgendwie dachte ich, ich hätte die function verstanden wie sie funktioniert..aber iwe doch nicht...ich will ja einfach nur alle 100 Dateien nacheinander einlesen, mit ner Function...
ich steh iwie auf em schauch...:/
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 27.05.2017, 22:23
Titel:
|
 |
Hallo,
dann muss ja irgendwo eine Schleife sein. Soll die Schleife in der Funktion sein, oder außerhalb?
Dass du 100 Dateien einlesen willst, ist bekannt. Leider fehlt aber nach wie vor die Information, wie du die Funktion aufrufst.
Grüße,
Harald
|
|
|
|
| Absolut_Beginner |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 46
|
 |
|
 |
Anmeldedatum: 27.05.17
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 29.05.2017, 15:00
Titel:
|
 |
also die Schleife ist noch innerhalb der Function..das klappt denk ich auhc so weit. Problem besteht bei dem Aufrufen der Function...offensichtlich reicht das obige nicht, aber was muss denn matlab noch wissen, um die Function vollstndig zu machen?
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 29.05.2017, 15:43
Titel:
|
 |
Hallo,
| Zitat: |
| Problem besteht bei dem Aufrufen der Function... |
Vermutlich. Daher wäre es auch wichtig, dass du schreibst, wie du versuchst die Funktion aufzurufen. Die Info fehlt mir weiterhin.
Wie gesagt:
| Zitat: |
| Der "Run"-Button kann hier beispielsweise nicht funktionieren, da die Funktion ja zwei Eingabeargumente erwartet. |
Grüße,
Harald
|
|
|
|
| Absolut_Beginner |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 46
|
 |
|
 |
Anmeldedatum: 27.05.17
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.05.2017, 19:58
Titel:
|
 |
ok, also es läuft jetzt soweit wenn ich bei der Funktion dann (1,1) eingeb, dass dann die erste txt datei eingelesen wird.
jetzt will ich noch eine Schleife schreiben, in der ich sag, dass die beiden Variablen vp, und trial nacheinander eingelesen werden, also die ändern sich ja immer..
Da dachte ich, mach ich das außerhalb, also eine schleife, in der ich auf die Funktion zurückgreife...
hab das mal so probiert, leider wohl zu einfach gedacht..
for vp = 1:30
k(vp) = U4(vp,1);
for trial = 1:15
l(trial) = U4(1,trial)
end
end
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 30.05.2017, 21:12
Titel:
|
 |
Hallo,
U4 ist wohl deine Funktion?
Jetzt müsstest du uns nur noch verraten, was an deinem Versuch nicht funktioniert.
Wenn du beide Parameter in allem Kombinationen verwenden willst, müsste das eher so aussehen:
Grüße,
Harald
|
|
|
|
| Absolut_Beginner |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 46
|
 |
|
 |
Anmeldedatum: 27.05.17
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.05.2017, 21:18
Titel:
|
 |
ja genau, U4 ist meine Funktion.
das klappt alles soweit, aber nun sind in meinem Data alle Daten komplett drin, ihc möchte aber, dass ich immer eine Variable bekomm für einen Datensat, also eine Datei 1_1_1 für vp 1 und trial 1, dann einen 1_1_2, also vp 1 und trial 2 und so weiter..also so wie eben die txt. Dateien auch aufgelistet sind, für jede VP und jeden trial eine eigene Datei...
Grüße und Danke
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 30.05.2017, 21:56
Titel:
|
 |
Hallo,
| Zitat: |
| ihc möchte aber, dass ich immer eine Variable bekomm für einen Datensat, also eine Datei 1_1_1 für vp 1 und trial 1, dann einen 1_1_2, also vp 1 und trial 2 |
Du kannst hier an verschiedenen Stellen nachlesen, dass das keine gute Idee ist. Wenn du es trotzdem unbedingt möchtest, musst du dir mit
assignin
behelfen.
Grüße,
Harald
|
|
|
|
| Absolut_Beginner |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 46
|
 |
|
 |
Anmeldedatum: 27.05.17
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.05.2017, 22:11
Titel:
|
 |
Hey,
aber das kommt doch relativ häugig vor, dass ich viele Datensätze habe die sich wein wenig unterscheiden..muss doch dann möglich sein, diese ganz nomal einzulesen, oder?
Und assignin wird nicht empfohlen weil es zu lange zum rechnen braucht?
LG
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 30.05.2017, 22:29
Titel:
|
 |
Hallo,
| Zitat: |
| muss doch dann möglich sein, diese ganz nomal einzulesen, oder? |
Freilich ist das möglich, du hast es ja schon erfolgreich getan: das ist aus meiner Sicht der "normale" Weg. Der andere Weg mit assignin steht dir natürlich frei, ich würde aber davon abraten.
| Zitat: |
| Und assignin wird nicht empfohlen weil es zu lange zum rechnen braucht? |
Eher, weil es das weitere Verarbeiten der Informationen erschwert: wenn man einmal dynamisch erzeugte Variablennamen hat, kommt man nicht mehr weg davon, und jeder weitere Befehl wird zur Quälerei.
Grüße,
Harald
|
|
|
|
| Absolut_Beginner |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 46
|
 |
|
 |
Anmeldedatum: 27.05.17
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.05.2017, 22:37
Titel:
|
 |
Aber so hab ich ja nur einen datensatz und nicht die 100verschiedenen...bzw in data stecken die einzelnen double, kann ich die da iwie rausholen?
Danke für deine Antwort
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 31.05.2017, 07:03
Titel:
|
 |
Hallo,
| Zitat: |
| Aber so hab ich ja nur einen datensatz und nicht die 100verschiedenen... |
Du hast schon die verschiedenen Datensätze, aber in einer Variablen zusammengefasst.
| Zitat: |
| in data stecken die einzelnen double, kann ich die da iwie rausholen? |
Wenn in jeder Zelle nur ein Double steht, dann
cell2mat
.
Ansonsten
data{i,j}
, um auf einen Datensatz zuzugreifen.
Grüße,
Harald
|
|
|
|
| Absolut_Beginner |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 46
|
 |
|
 |
Anmeldedatum: 27.05.17
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.06.2017, 09:57
Titel:
|
 |
Hallo,
danke für die Bemühungen, habe es nun so hinbekommen wie ich wollte
eine andere Frage zu ner Schleife, stell ich gleich in einem neuen Thread.
Dankeschön für die Hilfe .
|
|
|
|
|
|
|
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.
|
|