|
|
|
|
|
|
|
|
| Zitat von Revak
Würde "for (int j=k+1; j<N; j++)" dein Problem lösen?
| |
| Zitat von _abyss
|
Code: |
for (int k=0; k<N-1; k++) {
for (int i=k+1; i<N; i++) {
for (int j=k+1; j<N; j++) {
A[i][j] = A[i][j] - ( (A[i][k]/A[k][k]) * A[k][j] );
}
A[i][k] = 0.0;
}
} |
|
Du solltest darauf Achten nicht auf bereits veraenderte Zellen zuzugreifen, wenn du noch den alten Wert brauchst. Wenn du bei j=k startest, ist A[i][k] fuer alle groesseren j schon Null und du ziehst nichts mehr ab.
| |
Äh, wenn ich bei j=k+1 starte erzeuge ich ja aber schon im ersten Druchlauf in Zeile 2, Spalte 1 keine 0 mehr und bekomme so nicht die obere Dreiecksform.
| Zitat von NRG_Mash
probier mal folgendes:
|
Code: |
for (int k=0; k<N-1; k++)
{
for (int i=k+1; i<N; i++)
{
for (int j=k; j<N; j++)
{
A[i][j] = A[i][j] - ( (A[k][i]/A[k][k]) * A[k][j] );
}
}
} |
|
| |
A[k][i] statt A[i][k] im Zähler führt nicht zum gewünschten Ergebnis, allgemein scheint es egal, ob ich k bis <N oder <N-1 laufen lasse.
|
|
|
|
|
|
|
| Zitat von Irdorath
| Zitat von Revak
Würde "for (int j=k+1; j<N; j++)" dein Problem lösen?
| |
| Zitat von _abyss
|
Code: |
for (int k=0; k<N-1; k++) {
for (int i=k+1; i<N; i++) {
for (int j=k+1; j<N; j++) {
A[i][j] = A[i][j] - ( (A[i][k]/A[k][k]) * A[k][j] );
}
A[i][k] = 0.0;
}
} |
|
Du solltest darauf Achten nicht auf bereits veraenderte Zellen zuzugreifen, wenn du noch den alten Wert brauchst. Wenn du bei j=k startest, ist A[i][k] fuer alle groesseren j schon Null und du ziehst nichts mehr ab.
| |
Äh, wenn ich bei j=k+1 starte erzeuge ich ja aber schon im ersten Druchlauf in Zeile 2, Spalte 1 keine 0 mehr und bekomme so nicht die obere Dreiecksform.
| |
Darum setzt du den Eintrag danach ja auch auf 0, wie ich auch geschrieben hab.
|
|
|
|
|
|
|
also bei mir funktioniert es
|
Code: |
for(unsigned int i=0; i<size-1; i++)
{
for(unsigned int j=i+1 ;j<size; j++)
{
for(unsigned int k=i ;k<size ;k++)
{
A[j][k] = A[j][k] - A[j][k]/A[i][i]*A[i][k];
}
}
}
|
|
auch wenn es nicht der effizienteste code ist
|
|
|
|
|
|
|
_abyss Variante funktioniert tatsächlich, hab gerade mal die Matrizen durchgeguckt. Danke dafür schonmal.
Mein Lösungsalgorithmus für die obere Dreiecksmatrix müsste auch stimmen, wurde zum letzten Übungszettel zumindest voll bepunktet.
|
Code: |
for (int s=N-1; s>=0; s=s-1) //Rückwärtssubstitution wie Blatt 4
{
x[s]=b[s];
for (int t=N-1; t>s; t=t-1)
{
x[s]=x[s]-A[s][t]*x[t];
}
x[s]=x[s]/A[s][s];
} |
|
Geb ich jetzt aber die euklidische 2er Norm von x-y (x ist meine Lösung, y die Musterlösung) aus, bekomme ich wirklich schlechte Werte. Ze fuck.
Meinen Lösungsvektor b für den ich das LGS auflöse mit-gauss-en wäre halt mal ne Idee. m(
|
[Dieser Beitrag wurde 4 mal editiert; zum letzten Mal von Irdorath am 25.05.2011 15:53]
|
|
|
|
|
|
| Zitat von [smith]
Hast du denn einfach mal den Verfassern des Papers gemailt oder sind die sich (wie üblich) zu fein, dem gemeinen Pöbel auf Fragen zu antworten?
| |
man rechne etwas rückwärts ...nehme ein nicht (von mir) reproduzierbares Ergebnis und lasse den kack Geist weg und tada es klappt
|
|
|
|
|
|
|
Ich hätte mal eine Frage zu Teilräumen in der linearen Algebra.
Gegeben ist die Matrix sowie die Menge .
Jetzt soll ich zeigen, dass ein Teilraum der komplexen 2 x 2 Matrizen ist, ohne die Teilraumkriterien zu bemühen.
Unter Anwendung der Teilraumkriterien wäre das kein Thema, aber welcher Umstand ist jetzt vorhanden, so dass man das sofort sieht? Ich vermute, dass es ziemlich einfach ist und ich einfach nur auf dem Schlauch stehe.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Cubic am 24.05.2011 20:30]
|
|
|
|
|
|
Kommt auf Eure Definition von "span" an. Für mich ist span(M) per definitionem der kleinste Teilraum der M enthält.
|
|
|
|
|
|
|
span(M) ist die Menge aller Linearkombinationen der Vektoren (auch "lineare Hülle").
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Cubic am 24.05.2011 22:19]
|
|
|
|
|
|
Dann sehe ich nicht wie man das ohne das Kriterium machen kann (abgesehen vom Nachrechnen aller Vektorraumaxiome, was aber unnötiger Aufwand ist).
|
|
|
|
|
|
|
Hi ho, ich brauch mal programmier inspiration.
Folgendes Problem:
Ich habe einen Vektor (v1) gefuellt mit irgendwelchen Objekten (in meim Fall Histogramme) und einen Vektor (v2) in dem Zahlen stehen die irgendeine Groesse der Objekte in v1 repraesentieren.
Also sagen wir:
|
Code: |
v1 | v2
------------
Apfel | 5
Birne | 3
Kirsche| 7
Kiwi | 6
|
|
usw.
Ich moechte nun v2 sortieren (kein Problem) und gleichzeitig, das v1 in der gleichen Art sortiert wird. Also das Endergebniss sollte so aussehen:
|
Code: |
v1 | v2
------------
Birne | 3
Apfel | 5
Kiwi | 6
Kirsche| 7
|
|
Nur wie bzw. Wie elegant loesen? Jemand ne Idee?
Btw. ich muss das auch nicht mit 2 Vektoren loesen.
Es is nur wichtig das ich die Objekte in v1 in irgend einer Art Liste (und zwar nach einer gewissen Groesse sortiert) habe die ich per for schleife oder aehnlichem durchlaufen kann.
|
|
|
|
|
|
|
| Zitat von SilentAssassin
| Zitat von [smith]
Hast du denn einfach mal den Verfassern des Papers gemailt oder sind die sich (wie üblich) zu fein, dem gemeinen Pöbel auf Fragen zu antworten?
| |
man rechne etwas rückwärts ...nehme ein nicht (von mir) reproduzierbares Ergebnis und lasse den kack Geist weg und tada es klappt
| |
Je nach Eichung kann es durchaus sein, dass Geister wegfallen. Mal danach geguckt?
|
|
|
|
|
|
|
| Zitat von con_chulio
Hi ho, ich brauch mal programmier inspiration.
Folgendes Problem:
Ich habe einen Vektor (v1) gefuellt mit irgendwelchen Objekten (in meim Fall Histogramme) und einen Vektor (v2) in dem Zahlen stehen die irgendeine Groesse der Objekte in v1 repraesentieren.
Also sagen wir:
|
Code: |
v1 | v2
------------
Apfel | 5
Birne | 3
Kirsche| 7
Kiwi | 6
|
|
usw.
Ich moechte nun v2 sortieren (kein Problem) und gleichzeitig, das v1 in der gleichen Art sortiert wird. Also das Endergebniss sollte so aussehen:
|
Code: |
v1 | v2
------------
Birne | 3
Apfel | 5
Kiwi | 6
Kirsche| 7
|
|
Nur wie bzw. Wie elegant loesen? Jemand ne Idee?
Btw. ich muss das auch nicht mit 2 Vektoren loesen.
Es is nur wichtig das ich die Objekte in v1 in irgend einer Art Liste (und zwar nach einer gewissen Groesse sortiert) habe die ich per for schleife oder aehnlichem durchlaufen kann.
| |
Du sortierst v2 und legst dazu ein Feld mit Indizes an, in der Reihenfolge wie v2 sortiert ist, aber mit den Positionsangaben, wo der unsortierte Wert ursprünglich stand. Macht sich natürlich gut mit einer Sprache, die so ein Feld optional mit ausgibt.
Also hättest du v2
3, 5, 6, 7
+ Indexfeld mit den Werten
2, 1, 4, 3
Dann kannst du über diese Indizes dein v1 sortieren. Also v1(1) = v1(index(1)) oder wie immer die Programmiersprache deiner Wahl das löst.
Beispiel aus IDL:
index = SORT(arr(1,*))
arr = arr(*, index)
Zweidimensionales Feld mit mehreren Spalten. Es wird Spalte 2 (IDL fängt bei 0 an) sortiert und als Ergebnis ein Indexvektor mit den Positionen der Elemente in Spalte 2 ausgegeben. Danach werden mit diesem Indexvektor alle Spalten gleich sortiert.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Aarkvard am 25.05.2011 9:47]
|
|
|
|
|
Frage zu Joomla 1.5
|
Hallo.
Ich habe ein Problem und zwar will ich die Möglichkeit haben, dass registrierte User die Möglichkeit haben in einen bestimmten Bereich Beiträge zu schreiben. Hierfür nutze ich die Erweiterung: "Content Submit". Das klappt auch alles soweit. Nur möchte ich gerne, dass beim Erstellen des Beitrages Veröffentlichungsoptionen und Meta-Tags ausgeblendet sind.
Habe hierfür folgende Anleitung gefunden:
http://forum.joomla.org/viewtopic.php?f=428&t=330580
Das Problem ist, dass Content Submit offensichtlich nicht auf die form.php zugreift. Auch wenn ich die Datei lösche funktioniert die Eingabe. Also muss die Erweiterung auf eine andere form.php (?) zugreifen. Wo kann diese liegen? Ich nutze Joomla 1.5.
Ich hoffe ihr könnt mir helfen.
|
|
|
|
|
|
|
Danke, kling gut
mal schauen wie ich das in c++ realisier
|
|
|
|
|
|
|
Du könntest auch - wenn ich grad nichts übersehen - einfach innerhalb deiner Sortierroutine, wenn die zu tauschenden Indizes feststehen, einfach beide Vektoren/Arrays auf gleiche Weise tauschen. Vorrausgesetzt natürlich, du schreibst den Sortieralgorithmus selber
|
|
|
|
|
|
|
| Zitat von Aarkvard
| Zitat von con_chulio
Hi ho, ich brauch mal programmier inspiration.
...
Nur wie bzw. Wie elegant loesen? Jemand ne Idee?
Btw. ich muss das auch nicht mit 2 Vektoren loesen.
| |
...
| |
Nur um alle ein wenig schlauer zu machen: In Java gibt es (neben anderen Möglichkeiten, die man jetzt passend zum Beispiel untersuchen müsste) auch direkt eine TreeMap, die sowas könnte: http://download.oracle.com/javase/1.5.0/docs/api/java/util/TreeMap.html
Hast du in C++ nicht evtl. was ähnliches schon fertig?
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von [smith] am 25.05.2011 14:34]
|
|
|
|
|
|
Puh, ok, hab ich gefunden; kommt nachher noch was!
|
[Dieser Beitrag wurde 3 mal editiert; zum letzten Mal von Geierkind am 25.05.2011 15:32]
|
|
|
|
|
|
Ich hab gerade in einem alten, durchaus seriösen Projekt eine "public void huntZombies()" gefunden und erinnere mich kein Stück mehr dran. Habt ihr auch schon semi-lustige Stückchen in alten Codes gefunden?
|
|
|
|
|
|
|
Bestimmt, aber spontan einfallen tut mir da nur cout "If youre reading this, something went very wrong!";. Peinlicherweise in einer eigentlich finalen Version.
|
|
|
|
|
|
|
Kommt hier jemand an dieses Paper und kann es mir zur Verfügung stellen? Selbst über die Uni soll ich da noch irgendwie $30 für bezahlen, obwohl wir eigentlich da kostenlos Zugriff drauf haben sollten
http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=875347
/e: erledigt.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von [smith] am 26.05.2011 0:02]
|
|
|
|
|
|
Same here.
|
|
|
|
|
|
|
Ich krieg es auch nicht...
|
|
|
|
|
|
|
Ich habe mal eine Frage zu Joomla 1.5:
Ich möchte gerne einen Banner auf einen Beitrag verlinken. Also nicht auf eine externe URL, sondern es soll auf einen internen Beitrag verlinkt werden.
Wie mach ich das?
Ich hoffe mir kann da Jemand helfen
|
|
|
|
|
|
|
| Zitat von quazogen
Ich habe mal eine Frage zu Joomla 1.5:
Ich möchte gerne einen Banner auf einen Beitrag verlinken. Also nicht auf eine externe URL, sondern es soll auf einen internen Beitrag verlinkt werden.
Wie mach ich das?
Ich hoffe mir kann da Jemand helfen
| |
afaik ist die einzige möglichkeit, die adresse des beitrags zu verwenden (also einfach das, was beim artikel in der adresszeile steht).
z.B. http://example.com/index.php?option=com_content&view=article&id=49&Itemid=62
(ich nehme an der banner ist auf deiner seite und du suchst nach einer möglichkeit für einen link einen artikel zu wählen. das geht aber (zumindest als ich das ähnliche problem hatte) nicht und man muss tatsächlich die normale url verwenden )
|
|
|
|
|
|
|
die zustandsbezeichnungen à la 3^2P_(3/2) (muss man sich in schöner latex schreibweise vorstellen) meinen immer nur ein einzelnes elektron innerhalb eines atoms oder?
¤: der hintergrund ist, dass wir die Linie durch den übergang von 3^2 P_(3/2) nach 3^2 S_(1/2) haben und sagen sollen, in wie viele linien ein magnetfeld durch den anomalen zeemanneffekt aufspaltet. in meinen augen werden es 4 linien?
¤: nein es scheint anders zu sein. der zeeman effekt splatet 3^2 P_(3/2) wohl in vier linien auf.
warum grade in 4?
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von MrDarius am 26.05.2011 20:52]
|
|
|
|
|
|
Ich habn Assemblerproblem:
Und zwar soll ich unter Zuhilfenahme der Befehle ADC, STC und CLC ein Integer von 128 Bit Breite implementieren.
1. Frage: Was ist ein Carry Flag?
2. Frage: Wie geht das? Koennte ich 2 Register benutzen und irgendwie Carry Flags so setzen, dass er sie zu einem zusammenzaehlt? Und wenn ja, Frage 2.1: Wie geht das?
Bin von dem Assemblerzeug immernoch mittelgradig verwirrt.
|
|
|
|
|
|
|
Das Carry-Flag ist dazu da, einen Überlauf bei einer arithmetischen Operation anzuzeigen. Wenn du z.B. zwei 3-Bit breite Zahlen addierst (111+111), ist das Ergebnis nicht mehr in 3 Bit darstellbar, es wäre ja 1110. das 4. Bit, was nun "vorne" dazugekommen ist, das Carry-Bit.
In deiner Aufgabe musst du also die Carry-Bits so benutzen, dass arithmetische Operationen bei 32Bit breiten Integer-Werten auf 128 Bit abgebildet werden können. Du brauchst also insgesamt 4 Register, um den Wert zu speichern und du musst diese Register irgendwie "verbinden", damit die Carry-Bits entsprechend in den höherwertigen Bitstellen berücksichtigt werden.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von klmann am 26.05.2011 22:44]
|
|
|
|
|
Limes
|
Abend zusammen,
unser einer Dozent hat uns heute eine Methode (?) an den Kopf geworfen um den Limes zu berechnen. Daraus werde ich jedoch nicht ganz schlau und hoffe auf Erklärung.
Folgendes Beispiel:
Seine Aussage war nun:
"Ich mach das immer so: ich such mir die höchste Potenz im Zähler und im Nenner und nehme dazu einfach die Koeffizienten und das war es dann - natürlich geht das auch über L'Hopital aber das ist ja viel zu umständlich"
So, warum er oben die 1 herausbekommt versteh ich, aber warum auch unten? Habe ich das System nicht verstanden oder was er da versucht zu erklären? Wäre über eine Erleuchtung dankbar!
|
|
|
|
|
|
|
Die Erklärung kapier ich weil ich sie kenne, das Beispiel nicht.
Wenn du hast, ist im limes nur interessant und das ist dann für wenn n=k ist, sonst ist es einfach unendlich bzw. 0.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von pinnback am 27.05.2011 0:26]
|
|
|
|
|
Thema: pOT-Informatiker, Mathematiker, Physiker VI ( Nur für echte PIMPs ) |