|
|
|
Ship painting activities
|
Das hier ist *nicht* der Informatiker helfen PC-Neulingen Thread!
Hier tummelt sich alles, was mit Informatik, Mathematik oder Physik zu tun hat. Bei Fragen, Diskussion und gegenseitigem Schulterklopfen bis Trösten, das über den Erklärbär hinaus geht, wird hier geholfen. Oder verwirrt. Oder beides.
Wenn Hilfe gegeben wurde, die über bloßes Nachrechnen hinaus geht, freut man sich hier auch gerne, wenn das irgendwo genauer gelöst wurde (Übungen, Vorlesungen, Bücher, ...) und der Beholfene davon erfährt.
Die Wahrscheinlichkeit, nichts zu verstehen, steigt mit jedem Post logarithmisch. Der Aufwand, das zu ändern, ist o(Life). Weiterlesen geschieht auf eigene Gefahr und riskiert die persönlichen sprachlichen und sozialen Fähigkeiten. Zu den Nebenwirkungen gehören Versuche, um 5:00 morgens vorm Schlafengehen noch P=NP zu zeigen, die Goldbach-Vermutung zu beweisen oder das Axino zu finden.
Grundlegende Hilfen zur Diskussion:
n-1 - Der Alte.
n+1 - Der Nächste.
- Wer TeX im Forum braucht, kann das jetzt auch über [tex][/tex]
Spoiler - markieren, um zu lesen:
Online-TeX - Alte Lösung: Wenn man mal eben eine Formel im Forum nicht in ASCII-Art darstellen will.
Detexify - Um das Gekritzel aus der Vorlesung mit obigem Link nutzbar zu machen. (Zeichnung->TeX-Symbol)
LaTeX - Für alles, was über das Forum hinausgeht (und man sich in was anderes als Office einarbeiten will/muss)
XKCD - Unsere Bibel
PHD Comics
Abstruse Goose - Weiterer Zeitvertreib
Geek and Poke - Webcomic für Codetipper
Wikipedia - Eine gute erste Anlaufstelle. Für fast alles.
arXiv - Eine zweite Anlaufstelle mit doofer Suche
Wolfram Alpha - Der praktische Rechnerersatz
Unspeakable Vault of Doom - In Ermangelung eines passenderen Bildes für den Thread wird erstmal das für Foren gedachte Bild vom UVOD verwendet.)
-----------------
verwandte Threads:
Studienthread
(Hobby-)Astronomie
-----------------
IRC-Channel:
#potpimp auf freenode.net Könnte man mal wieder beleben...
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Oli am 19.03.2014 12:25]
|
|
|
|
|
|
Gibt's ein Anfängerfreundliches Tutorial zu asyncio? Bei den Docs verstehe ich nichtmal den ersten Absatz. Policy whaaat?
/e: Holy shit, matplotlib UND scipy/numpy laufen unter python3? Seit wann das? ENDLICHST!
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Oli am 19.03.2014 13:32]
|
|
|
|
|
C++ für Dummys
|
Ich hab nie wirklich C++ benutzt, keine Ahnung vom Memory Management da, komm jetzt aber nicht drum rum
Ich habe folgende Hierarchie und rätsel, welchen return type ich für method brauche:
|
Code: |
Interface1 (method: return Interface2)
/ \
/ \
A Interface2
(return new B) / \
/ \
B C
(return this) (return this) |
|
Wenn ich das, was ich bisher dazu gelesen habe, richtig verstanden habe, kann ich nicht einfach einen Value vom Typ Interface2 zurückgeben, weil es keine Values dieses Typs gibt und ich in Wirklichkeit Instanzen von irgendwelchen Unterklassen zurückgebe, ja?
Aber Pointer und Referenzen (Interface2*/Interface2& ??) gehen (was ist da eigentlich der genaue Unterschied zwischen den beiden?).
Wenn die mit new dynamisch angelegt werden, muss ich mich ja auch darum kümmern, dass die irgendwann wieder gelöscht werden, oder? Das ist wohl weniger ein Problem, wenn ich von einer Instanz von A ein neues B kriege. Wenn ich jetzt aber von einer Instanz von B (oder C) die Instanz selbst kriege, kann ich diese in der aufrufenden Methode nicht wieder löschen, weil die Instanz ja evtl. noch irgendwoanders genutzt wird.
Kann mir das irgendeiner von euch mal aufdröseln? Ich hab bis jetzt nur so Hippiesprachen ohne Pointer und mit Garbage Collector benutzt
|
|
|
|
|
|
|
|
|
|
|
Interessant, danke. Ich muss demnächst wohl auch meinen Code veröffentlichen.. Ohgott.
|
|
|
|
|
|
|
| Zitat von Oli
Interessant, danke. Ich muss demnächst wohl auch meinen Code veröffentlichen.. Ohgott.
| |
Leute die sich darüber Gedanken machen haben erfahrungsgemäss meistens eine bedeutend zeigbarere Codebase als die, die sich darüber keine machen. Von daher schon mal alles gut.
Ich darf morgen im Büro ein Codereview mit jemandem machen, der sich weder an den Styleguide noch an Stylecop halten will und unbelehrbar ist. Das macht viel weniger Spass.
|
|
|
|
|
|
|
Schon den Block mit den Abmahnvorlagen eingepackt?
|
|
|
|
|
|
|
Ich würde den ja am liebsten in den Unterricht schicken, aber dafür bin ich ja nicht zuständig...
¤: Wo ich sowieso wieder bei einem Thema bin über das ich mich stundenlang aufregen könnte. Warum wird sowas wie Codequalität, und vor allem auch WIE MAN SIE ERREICHT, viel zu wenig abgedeckt im Stundenplan von...irgendwas. Ich erwarte sowas ja aus natürlichem Interesse, aber irgendwo müsste es doch auch Institutionen geben die sowas einstampfen. Da könnte ich mich Stundenlang aufregen. Agil hier, UML da, Patterns irgendwo aber am Schluss hockst du auf einem Klumpen Scheisse weil keiner weiss seinen Hammer anzuwenden.
¤: Hmpf
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von SwissBushIndian am 19.03.2014 19:21]
|
|
|
|
|
|
Ok. Ich muss glaube ich mal wieder was essen - ich bekomme folgende, imho triviale Aufgabe nicht hin:
Ich habe drei Indizes I, i und \mu. I geht von 0 bis K-2, i von 0 bis n-1 und mu ist nur 0 und 1.
Ich möchte einen Vector generieren, der erst nach I, dann nach i und dann nach mu sortiert ist. D.h. Erster Eintrag wäre zu (0,0,0), dann käme (0,0,1), dann (0,1,0) ... (0,n-1,1) (1,0,0), ... (K-2,n-1,1)
Ich habe ein riesiges Brett vorm Kopf.
|
|
|
|
|
|
|
Wie sieht dein > oder < dafür aus?
Wenn du Python nutzt ist das einfacher:
|
Code: |
...sort(key=lambda vec: (vec.l, vec.i, vec.mu)) |
|
|
|
|
|
|
|
|
| Zitat von Wraith of Seth
Ok. Ich muss glaube ich mal wieder was essen - ich bekomme folgende, imho triviale Aufgabe nicht hin:
Ich habe drei Indizes I, i und \mu. I geht von 0 bis K-2, i von 0 bis n-1 und mu ist nur 0 und 1.
Ich möchte einen Vector generieren, der erst nach I, dann nach i und dann nach mu sortiert ist. D.h. Erster Eintrag wäre zu (0,0,0), dann käme (0,0,1), dann (0,1,0) ... (0,n-1,1) (1,0,0), ... (K-2,n-1,1)
Ich habe ein riesiges Brett vorm Kopf.
| |
3 for schleifen verschachteln? /e: Wobei, dann passt dein Beispiel nicht zu dem was du schreibst. Oder das Brett ist weiter vor meinen Kopf gewandert.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von nobody am 20.03.2014 20:40]
|
|
|
|
|
|
Hä, achso, hm, hä?
Will er jetzt eine Liste von Vektoren erzeugen oder eine Liste von Vektoren nach seinen Kriterium sortieren?
|
|
|
|
|
|
|
Irgendwie kriege ich das Beispiel nicht mit dem Text in Einklang. Aber ich bin auch gerade erst aus einem Sofakoma erwacht
|
|
|
|
|
|
|
Generieren (detaillfehler vorbehalten, ohne Gewähr)
|
Code: |
In [4]: %cpaste
Pasting code; enter '--' alone on the line to stop or use Ctrl-D.
:def gen(K, n):
: for l in range(K-1):
: for i in range(n):
: for mu in range(2):
: yield (l, i, mu)
:<EOF>
In [5]: list(gen(4, 5))
Out[5]:
[(0, 0, 0),
(0, 0, 1),
(0, 1, 0),
(0, 1, 1),
(0, 2, 0),
(0, 2, 1),
(0, 3, 0),
(0, 3, 1),
(0, 4, 0),
(0, 4, 1),
(1, 0, 0),
(1, 0, 1),
(1, 1, 0),
(1, 1, 1),
(1, 2, 0),
(1, 2, 1),
(1, 3, 0),
(1, 3, 1),
(1, 4, 0),
(1, 4, 1),
(2, 0, 0),
(2, 0, 1),
(2, 1, 0),
(2, 1, 1),
(2, 2, 0),
(2, 2, 1),
(2, 3, 0),
(2, 3, 1),
(2, 4, 0),
(2, 4, 1)]
|
|
|
|
|
|
|
|
|
völlig unsinniges Nutzen von yield + es macht den Code viel Einsteiger-unfreundlicher.
Setzen, 6.
|
|
|
|
|
|
|
Generieren, Generator, merkste was?
|
|
|
|
|
|
|
| Zitat von csde_rats
Hä, achso, hm, hä?
Will er jetzt eine Liste von Vektoren erzeugen oder eine Liste von Vektoren nach seinen Kriterium sortieren?
| |
Ich habe eine Funktion, die von I, i und mu abhängt. Genauer: Mu sind Koordinaten, i ein Interpolationspunkt mit diesen 2D-Koordinaten und I indiziert die K-1 Kurven, die interpoliert werden. Das wird eine Funktion . Mit der "Papier"indizierung ist das aber ein... ...äh... multidimensionales Array von Dim 3...? Das Beispiel war halt diese Multiindex-Schreibweise.
Ich suche also eine bijektive Abbildung
so, dass
Da ich so wenig Ahnung vom Programmieren habe, dass ich nicht wusste, wonach ich suchen muss, war ich etwas aufgeschmissen.
Wobei ich das bei euren Beispielen so verstehe, dass das nicht ist, was ich meine, oder...?
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von Wraith of Seth am 20.03.2014 21:20]
|
|
|
|
|
|
Suchst du vll. sowas wie Bucketsort?
|
|
|
|
|
|
|
Cool, jetzt habe ich noch weniger gerafft, was du brauchst. Ich habe es auch so wie rats verstanden (dann wäre aber der erste Schritt in deinem Beispiel falsch gewesen :-/).
Oder kannst du nicht einfach deine Funktion über rats' Liste rutschen lassen?
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von nobody am 20.03.2014 21:23]
|
|
|
|
|
|
| Zitat von nobody
Cool, jetzt habe ich noch weniger gerafft, was du brauchst. Ich habe es auch so wie rats verstanden (dann wäre aber der erste Schritt in deinem Beispiel falsch gewesen :-/).
Oder kannst du nicht einfach deine Funktion über rats' Liste rutschen lassen?
| |
...
Ich habe Jahrgang, Klasse, Schüler - alle durchnummeriert, wie das eine gute deutsche Schule macht. Ich starte in der ersten Klasse des untersten Jahrgangs, nehme den ersten Schüler - das ist Schüler 1 der Schule. Und so eier ich durch die ganze Schulmannschaft. Zum Glück weiß ich, dass es n Klassen gibt, K-1 Jahrgänge und 2 Schüler pro Klasse.
...besser?
|
|
|
|
|
|
|
Das ist doch dasda
:def gen(K, n):
: for l in range(K-1):
: for i in range(n):
: for mu in range(2):
: yield (l, i, mu)
|
|
|
|
|
|
|
| Zitat von Wraith of Seth
| Zitat von nobody
Cool, jetzt habe ich noch weniger gerafft, was du brauchst. Ich habe es auch so wie rats verstanden (dann wäre aber der erste Schritt in deinem Beispiel falsch gewesen :-/).
Oder kannst du nicht einfach deine Funktion über rats' Liste rutschen lassen?
| |
...
Ich habe Jahrgang, Klasse, Schüler - alle durchnummeriert, wie das eine gute deutsche Schule macht. Ich starte in der ersten Klasse des untersten Jahrgangs, nehme den ersten Schüler - das ist Schüler 1 der Schule. Und so eier ich durch die ganze Schulmannschaft. Zum Glück weiß ich, dass es n Klassen gibt, K-1 Jahrgänge und 2 Schüler pro Klasse.
...besser?
| |
Das ist doch genau das was Rats gemacht hat.
/me so slow
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von nobody am 20.03.2014 21:38]
|
|
|
|
|
|
| Zitat von Oli
völlig unsinniges Nutzen von yield + es macht den Code viel Einsteiger-unfreundlicher.
Setzen, 6.
| |
"yield" kann teilweise verdammt verwirrend sein, bis ich mal komplett kapiert was "yield" in allen möglichen Fällen in JavaScript macht, hat ne Weile gedauert (das war so fieser Code, der yield zusammen mit Promises verwendet hat und dann noch so ne andere Neuerung von JavaScript)
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von mc.smurf am 20.03.2014 21:44]
|
|
|
|
|
|
| Zitat von csde_rats
Das ist doch dasda
:def gen(K, n):
: for l in range(K-1):
: for i in range(n):
: for mu in range(2):
: yield (l, i, mu)
| |
Hä? Aber das gibt doch offensichtlich wieder einen Dreierindex aus?
.......hääääääää...?
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Wraith of Seth am 20.03.2014 21:51]
|
|
|
|
|
|
| Zitat von Redh3ad
Ich hab nie wirklich C++ benutzt, keine Ahnung vom Memory Management da, komm jetzt aber nicht drum rum
Ich habe folgende Hierarchie und rätsel, welchen return type ich für method brauche:
|
Code: |
Interface1 (method: return Interface2)
/ \
/ \
A Interface2
(return new B) / \
/ \
B C
(return this) (return this) |
|
Wenn ich das, was ich bisher dazu gelesen habe, richtig verstanden habe, kann ich nicht einfach einen Value vom Typ Interface2 zurückgeben, weil es keine Values dieses Typs gibt und ich in Wirklichkeit Instanzen von irgendwelchen Unterklassen zurückgebe, ja?
Aber Pointer und Referenzen (Interface2*/Interface2& ??) gehen (was ist da eigentlich der genaue Unterschied zwischen den beiden?).
Wenn die mit new dynamisch angelegt werden, muss ich mich ja auch darum kümmern, dass die irgendwann wieder gelöscht werden, oder? Das ist wohl weniger ein Problem, wenn ich von einer Instanz von A ein neues B kriege. Wenn ich jetzt aber von einer Instanz von B (oder C) die Instanz selbst kriege, kann ich diese in der aufrufenden Methode nicht wieder löschen, weil die Instanz ja evtl. noch irgendwoanders genutzt wird.
Kann mir das irgendeiner von euch mal aufdröseln? Ich hab bis jetzt nur so Hippiesprachen ohne Pointer und mit Garbage Collector benutzt
| |
Ich versteh dein Problem irgendwie nicht so richtig. Kannst du das mal in simplifiziertem Code zeigen?
|
|
|
|
|
|
|
| Zitat von MCignaz
Ich versteh dein Problem irgendwie nicht so richtig. Kannst du das mal in simplifiziertem Code zeigen?
| |
Ich bin schon wieder nen Schritt weiter, hab zwischendurch shared_ptr aus C++11 entdeckt und damit funktionierts anscheinend erstmal so, wie ich das gerne hätte.
|
|
|
|
|
|
|
| Zitat von Wraith of Seth
| Zitat von csde_rats
Das ist doch dasda
:def gen(K, n):
: for l in range(K-1):
: for i in range(n):
: for mu in range(2):
: yield (l, i, mu)
| |
Hä? Aber das gibt doch offensichtlich wieder einen Dreierindex aus?
| |
Ich weiß nicht was du da immer Index nennst, aber da kommt für K=4 n=5 zuerst (0, 0, 0) dann (0, 0, 1) und dann (0, 1, 0) und dann (0, 1, 1) und dann (0, 2, 0) und dann (0, 2, 1) und dann (0, 3, 0) und dann (0, 3, 1) und dann (0, 4, 0) und dann (0, 4, 1) und dann (1, 0, 0) und dann (1, 0, 1) und dann (1, 1, 0) und dann (1, 1, 1) und dann (1, 2, 0) und dann (1, 2, 1) und dann (1, 3, 0) und dann (1, 3, 1) und dann (1, 4, 0) und dann (1, 4, 1) und dann (2, 0, 0) und dann (2, 0, 1) und dann (2, 1, 0) und dann (2, 1, 1) und dann (2, 2, 0) und dann (2, 2, 1) und dann (2, 3, 0) und dann (2, 3, 1) und dann (2, 4, 0) und dann (2, 4, 1) raus.
|
|
|
|
|
|
|
Ich will aber 1, 2, 3, 4, 5, 6, 7, \dots, 2*(K-1)*n
Ich will eine Funktion index(I,i,mu) und brauche - vielleicht - auch I(index), i(index) und mu(index). Es muss also in beide Richtungen gehen.
|
|
|
|
|
|
|
Also du willst z.B. index(0, 1, 1) und dann soll 3 rauskommen?
|
|
|
|
|
|
|
JA!
|
|
|
|
|
|
Thema: pOT-lnformatik, Mathematik, Physik XVI ( Ship painting activities ) |
|