|
|
| JohnnyCash |

Forum-Fortgeschrittener
|
 |
Beiträge: 57
|
 |
|
 |
Anmeldedatum: 22.07.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2009b
|
 |
|
|
 |
|
Verfasst am: 29.10.2009, 21:14
Titel: "Platzhalter"
|
 |
Hallo,
welchen "Platzhalter" muss ich benutzen um mir beim befehl fprintf Vektoren/Cells ausgeben zulassen?!
konkret also:
was muss anstelle des ?-Zeichen stehen?
Grüße
Johannes
|
|
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 29.10.2009, 22:49
Titel:
|
 |
Hallo,
das kommt auf den Inhalt des Cell Arrays an. Ich denke nicht, dass es da eine Allzwecklösung gibt.
Grüße,
Harald
|
|
|
|
| JohnnyCash |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 57
|
 |
|
 |
Anmeldedatum: 22.07.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2009b
|
 |
|
|
 |
|
Verfasst am: 29.10.2009, 23:01
Titel:
|
 |
naja du musst dir vorstellen das der cell array mehrere vektoren enthält.
ich habe ein heuristisches tourenverfahren in matlab implementiert. nach dem erstllen der touren ist der cell array mit den touren "gefüllt".
nun möchte ich mir alle touren ausgeben lassen, also:
Cell{1}: [1 2 4 7]
Cell{2}: [3 5 6]
...
die einzelnen elmente der "Cell-Array-Vektoren" sind die anzufahrenden Kunden.
Bloß weiß ich einfach nich wie ich die cell ausgeben kann
|
|
|
|
| JohnnyCash |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 57
|
 |
|
 |
Anmeldedatum: 22.07.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2009b
|
 |
|
|
 |
|
Verfasst am: 30.10.2009, 20:40
Titel:
|
 |
hmm weiß wirklich keiner wie ich mir nen cell array mit fprintf ausgeben lassen kann?!
|
|
|
|
| Schrank |

Forum-Century
|
 |
Beiträge: 203
|
 |
|
 |
Anmeldedatum: 10.07.08
|
 |
|
 |
Wohnort: Berlin
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.10.2009, 23:37
Titel:
|
 |
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 31.10.2009, 08:36
Titel:
|
 |
Hmmm... ich habe keine Idee, von der ich wirklich überzeugt bin, aber es sollte zumindest funktionieren:
Grüße,
Harald
|
|
|
|
| JohnnyCash |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 57
|
 |
|
 |
Anmeldedatum: 22.07.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2009b
|
 |
|
|
 |
|
Verfasst am: 31.10.2009, 14:59
Titel:
|
 |
hey!
hat leider nicht geholfen ...jetzt gibt mir matlab nicht den "tourvektor" aus sondern nur eine Zahl, von der ich nicht mal verstehe wie sie gebildet wird?!
in meinem Tourenbeispiel sieht die Cell so aus:
| Zitat: |
Tour{1} = 2 1 6 8
Tour{2} = 4 5 7
|
wenn ich nun dein Code benutze, Harald, wird mir folgendes ausgegeben
| Zitat: |
Tour =
[1x4 double] [1x2 double]
ans =
41
ans =
31
ans =
0
|
bringt also nich wirklich was, komisch auch, dass ausgegeben wird:
| Zitat: |
Tour =
[1x4 double] [1x2 double]
|
müsste ja eigntlich:
| Zitat: |
Tour =
[1x4 double] [1x3 double]
|
sein...?!
maaan...da kommt man sogut klar mit der implementierung in matlab und dann scheitert es an der ausgabe der ergebnisse, das kann doch nich sso schwer sein
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 31.10.2009, 15:17
Titel:
|
 |
Hallo,
zunächst ist mal die Frage:
geht es um die Ausgabe in eine Datei, oder die Ausgabe ins Command Window?
Zusätzlich fehlen mir in deinem Code eckige Klammern [] zur Erstellung des Arrays.
Also nochmal.
Ins Command Window:
In Datei data.txt:
Das funktioniert bei mir einwandfrei. Es ist lediglich die Frage, ob das die effizienteste Implementierung ist.
Grüße,
Harald
|
|
|
|
| JohnnyCash |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 57
|
 |
|
 |
Anmeldedatum: 22.07.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2009b
|
 |
|
|
 |
|
Verfasst am: 31.10.2009, 15:53
Titel:
|
 |
| |
 |
|
hallo!
danke für deine schnelle Hilfe! Also die Ausgabe im Command Window reicht vollkommen aus!
Die []-Klammern haben im meinen beispiel nur gefehlt weil dies die Ausgabe nur darstellen sollte, wie sie im Command Window sein soll.
Ob die Implementierung die Optimale ist, glaub ich selbst nich unbedingt.
Fakt ist dass als Ergebniss der Implementierung zwei Cell Arrays erstellt werden.
Cell Array 1: Ist der TourenArray, der eine bestimmte Anzahl von Touren enthält. die Touren werden als Vektor im Array gespeichert.
Cell Array2: Ist die Auslastung der jeweiligen Tour.
Dein Code funktioniert doch, irgendwie muss ich wohl einen Fehler gemacht haben.
Aber die Anzeige an sich gefällt mir noch nicht so ganz:
| Zitat: |
Tour =
[1x4 double] [1x2 double]
2 1 6 8
4 5 7
|
Ich hatte mir die Ausgabe halt so vorgestellt:
| Zitat: |
Tour 1: 2 1 6 8
Tour 2: 4 5 7
|
Ich weiß ich neige dazu schlecht erklären zukönnen....
Dein Code gefällt mir schon sehr: Bloß wie bekomm ich noch das "Tour x" davor?
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 31.10.2009, 16:08
Titel:
|
 |
Hallo nochmal,
So recht? Ansonsten ruhig auch selbst mal ein wenig rumprobieren. MATLAB beisst ja nicht.
Grüße,
Harald
|
|
|
|
| JohnnyCash |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 57
|
 |
|
 |
Anmeldedatum: 22.07.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2009b
|
 |
|
|
 |
|
Verfasst am: 31.10.2009, 16:12
Titel:
|
 |
genauso...Danke!!!
|
|
|
|
| JohnnyCash |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 57
|
 |
|
 |
Anmeldedatum: 22.07.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2009b
|
 |
|
|
 |
|
Verfasst am: 15.10.2010, 14:53
Titel:
|
 |
Hallo!
Und zwar folgendes, hab seit langem mal wieder das Skript benutzen wollen. Nun gibt mir Matlab komischerweise einen Fehler aus, obwol ich das Skript wie es Harald in seinem letzten Post geschrieben hat, genutzt habe.
| Zitat: |
??? Function name must be a string.
Error in ==> versuch at 103
len = cellfun(@length, Cell);
|
Ich habe aber mittlerweile eine andere Matlabversion als damals. Momentan nutze ich Matlab 7.0 damals war es irgendetwas mit 2008a oder so. Liegt der Fehler daran?
MfG
Johnny
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 15.10.2010, 15:13
Titel:
|
 |
Hallo,
7.0 ist eine deutlich ältere Version als 2008a. Ich werde jetzt nicht darüber spekulieren, was jemanden dazu bringt, diesen Wechsel vorzunehmen...
Damals gab es wohl noch keine Function Handles. Stattdessen probier mal:
Grüße,
Harald
|
|
|
|
|
|
|
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.
|
|