|
Taylor |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.10.2012, 19:42
Titel: Zentrierte Ausgabe
|
 |
Hallo
kann mir jemand sagen, wie ich bei MatLab eine Ausgabe zentriert machen kann?
Ich soll ein Programm schreiben, dass das Pascal'sche Dreieck darstellt, und habe es auch soweit fertig, jedoch kommt bei mir im Moment eher eine "Pascal'sche Treppe" raus, so etwa:
1
1 1
1 2 1
1 3 3 1
...
Nun bräuchte ich einen Befehl, der mir das Dreieck zentriert ausgibt
(Mit Leerzeichen funktioniert leider nicht, da das Programm zunächst fragt, wie weit das Dreieck gehen soll, und ich daher nicht weiß, wieviele Leerzeichen benötigt werden. Oder weiß vllt jemand, wie ich n Leerzeichen machen kann??)
Danke schonmal
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 07.10.2012, 19:54
Titel:
|
 |
Hallo,
du musst die Leerzeichen selbst angeben. n Leerzeichen:
Grüße,
Harald
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 07.10.2012, 21:04
Titel: Re: Zentrierte Ausgabe
|
 |
Hallo Taylor,
Welche "Ausgabe" meinst Du? Als Text in ein UICONTROL, ein TEXT-Objekt, in das Command-Window oder in ein File?
Zitat: |
(Mit Leerzeichen funktioniert leider nicht, da das Programm zunächst fragt, wie weit das Dreieck gehen soll, und ich daher nicht weiß, wieviele Leerzeichen benötigt werden. |
Das verstehe ich nicht. Um das Dreieck zentriert auszugeben, muss die Anzahl der Zeilen bekannt sein, damit auch die Breite bekannt ist. Und dann benötigt man natürlich Leerzeichen. Was bedeutet dann "funktioniert leider nicht"?
Die Funktion "blanks(n)" gibt n Leerzeichen zurück.
Ein Verbesserungsvorschlag ist einfacher, wenn Du zeigst, wie Du das bisherige Ergebnis erstellst. Ist das ein CHAR(10) separierter String oder ein Cell String? Erstellst Du dies Zeile für Zeile, etc?
Gruß, Jan
|
|
|
Taylor |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.10.2012, 18:14
Titel:
|
 |
Also mein Programm sieht bis jetzt so aus:
Das ueber(i,j) ist eine selbstgeschriebene Funktion die i über j ausrechnet, die funktioniert soweit
Die Ausgabe ist:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
Und das sollte eigentlich zentriert und nicht linksbündig sein
Wisst ihr wie ich meine?
Eure Vorschläge mit repmat oder blanks funktionieren nicht wenn ich das mit fprintf machen möchte. Ich hab das hier versucht:
und habe beide Male keine Leerzeichen sondern 32 ausgegeben bekommen
Weiß grade echt nichmehr weiter ^^ danke für weitere tipps
[EDITED, Bitte Code-Umgebung anwenden - Danke]
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 12.10.2012, 08:22
Titel:
|
 |
Hallo,
das Problem ist, dass c ein String ist und du es mit %f als Double/Float behandelst. Für Strings solltest du %s verwenden, z.B.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Taylor |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.10.2012, 19:04
Titel:
|
 |
Hallo,
Aah ja richtig, da war was ^^
Aber jetzt gehts, danke
LG
|
|
|
|
|
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.
|
|