|
|
|
|
ok, hat sich mit dem edit erledigt.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Renga am 15.05.2011 18:45]
|
|
|
|
|
|
Das sorgte hier für. Muahaha. Will haben.
"It kisses the boy or it gets the hose again."
|
|
|
|
|
|
|
Kann mir wer von euch Superbrains eventuell sagen, wo ich hier falsch liege? Es geht um das Substitutionsverfahren, ich nehme an, für euch dürfte das kein Problem darstellen
Int 2x/x²+1 dx
z=x²+1
z'=dz/dx=2x
dz/2x=dx
2.)
Int 2x/z * dz/2x = Int 1/z *dz
3.)|+C
1/z*dz=ln|z|+C
4.)
ln*x²+1+C
kann mir wer sagen, ob ich einen fehler habe und wnen ja, worin der liegt?
|
|
|
|
|
|
|
Keine Fehler. Sieht gut aus, falls du richtig klammerst.
2x/(x^2+1) -> ln(x^2+1)+C
|
|
|
|
|
|
|
Tausend dank!
[ln(x²+1)] bei einer oberen grenze 1, unterer grenze 0= ln(1²+1)-ln(0²+1) = 0,6931. Stimmt dass so?! Das war der größte Knackpunkt am ganzen für mich, mein Rechner spuckt etwas anderes aus... oO
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Komparse am 15.05.2011 23:09]
|
|
|
|
|
|
|
|
|
|
haben wir wieder tolle Aufgaben. Meeenschenskinder.
Festkörperphysik: Zweidimensionales Gitter mit den Basisvektoren a = sqrt(2)x - y und b = sqrt(2)x + y
Wie lauten diese Vektoren im reziproken Raum?
Da x und y Einheitsvektoren sind, hätte man es einfach umrechnen können, aber sqrt(2) ist ja nunmal blöderweise kein ganzzahliges Vielfaches.
|
|
|
|
|
|
|
Schon versucht?
Selbiges für b.
|
|
|
|
|
|
|
| Zitat von horscht(i)
Schon versucht?
Selbiges für b.
| |
Ja mittlerweile dann auch schon draufgekommen. Irgendwie doof, wenn nichtmal die Folien aus der Vorlesung irgendwo stehen...
Danke!
Was ich grad noch fragen wollte: Gibt es ein gutes umsonstes Programm um 3D-Kristallgitter darzustellen?
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von DogfishHeadcrab am 15.05.2011 23:44]
|
|
|
|
|
|
RasMol
/E: Soll das angeblich auch können. Zumindest laut Paul Harrison, der das in seinem Buch "Quantum Wells, Wires and Dots" verwendet.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von horscht(i) am 16.05.2011 0:04]
|
|
|
|
|
|
| Zitat von horscht(i)
| Zitat von Wraith of Seth
| Zitat von Flash_
Der Link im Alten zum nächsten stimmt nicht.
| |
Sobald wir einen Mod in unseren Reihen haben, ändert sich derartiges.
Ticking away the moments that make up a dull day...
| |
Eventuell opfert sich Rufus. Der ist doch Combjudda-Fuzzi.
| |
Die Zeiger stimmen jetzt..
|
|
|
|
|
|
|
| Zitat von Rufus
Die Zeiger stimmen jetzt..
| | Pointerarithmetik zu so später Stunde?
|
|
|
|
|
|
|
| Zitat von Rufus
Die Zeiger stimmen jetzt..
| |
Danke, du bist der Beste.
Atkins diet. I maim anyone with carbohydrates. Keeps me rather fit.
|
|
|
|
|
|
|
so ich bin gerade am verzweifeln - ich soll für einen Uni-Kurs ein Programm schreiben welches eine doppelt verknüpfte liste nach dem merge-sort-verfahren sortiert ohne dabei mehr als linear mehr speicher zu verbrauchen ...
inzwischen habe ich aus frust und fehlersuche schon alles aufgespittet, neu geschrieben und meine variablenbenennungen sind auch extrem konfus geworden aber könnte hier ein wacher geist mal drüberschauen und mir sagen warum er nicht korrekt sortiert?
wer rechtschreibfehler findet darf sie behalten - ich bin seit knapp 24h wach ....
|
Code: |
package ads1ss11.pa1;
/**
* Sorter Klasse in der die Methode {@link #mergesort(DoublyLinkedList, int)}
* implementiert werden soll.
*
* <p>
* In dieser Klasse müssen Sie Ihren Code einfügen und die Method
* {@link #mergesort(DoublyLinkedList, int)} implementieren.
* </p>
*
* <p>
* Sie können beliebige neue Variablen und Methoden in dieser Klasse
* hinzufügen.
* </p>
*/
public class Sorter {
DoublyLinkedList slist;
/**
* MergeSort Implementierung
*
* @param in Unsortierte Eingabefolge
* @param numOfElements Größe der Eingabefolge
* @return Sortiterte Eingabefolge
*/
public DoublyLinkedList mergesort(DoublyLinkedList in, int numOfElements)
{
this.slist = in;
mergesort (slist.first, slist.first.prev);
//TestweisecAusgabe
System.out.println("-------------------------------");
ListElement bla = slist.first;
do
{
System.out.println(bla.getId() + "|" + bla.getKey());
bla = bla.next;
} while (bla.getId() != slist.first.getId());
return slist;
}
/**
* mergesort Implementierung
*
* @param in zwei pointer als grenzen der Unsortierte Eingabefolge
* @return den Pointer der auf das linksliegende element der Sortiterte Eingabefolge zeigt
*/
private ListElement mergesort(ListElement beginn , ListElement ende)
{
//abfrage obe mehr als ein element enthalten ist
if (beginn.getId() != ende.getId())
{
int a = 0;
ListElement temp = beginn;
ListElement tempa,tempb,reta,retb;
//bestimmung der mitte(aufgerundet)
while (temp.getId() != ende.getId() )
{
temp = temp.next;
a++;
}
a = (int) Math.ceil(a/2);
temp = beginn;
for (int i=0;i < a; i++)
{
temp = temp.next;
}
//rekursiver aufruf
reta = mergesort(beginn, temp);
retb = mergesort(temp.next, ende);
tempb = reta;
//s um bei dem 1. durchgang das minimum für den return zu bestimmen
int s = 0;
//vertauschung falls beide isten mehr als eine element enthalten
while ((tempb.getId() != temp.getId()) && (retb.getId() != ende.getId()))
{
if (tempb.getKey() <= retb.getKey())
{
if (s == 0)
{
beginn = tempb;
s++;
}
tempb = tempb.next;
} else {
if (s == 0)
{
beginn = retb;
s++;
}
tempa = retb.next;
swaptwo(tempb,retb);
retb = tempa;
}
}
//vertauschung falls liste A (noch) ein element und B mehr enthält
while ((tempb.getId() == temp.getId()) && (retb.getId() != ende.getId()))
{
if (tempb.getKey() <= retb.getKey())
{
if (s == 0)
{
beginn = tempb;
s++;
}
tempb = tempb.next;
} else {
if (s == 0)
{
beginn = retb;
s++;
}
tempa = retb.next;
swaptwo(tempb,retb);
retb = tempa;
}
}
//vertauschung falls liste B (noch) ein element und A mehr enthält
while ((tempb.getId() != temp.getId()) && (retb.getId() == ende.getId()))
{
if (tempb.getKey() <= retb.getKey())
{
if (s == 0)
{
beginn = tempb;
s++;
}
tempb = tempb.next;
} else {
if (s == 0)
{
beginn = retb;
s++;
}
tempa = retb.next;
swaptwo(tempb,retb);
retb = tempa;
}
}
//vertauschung fall beide listen nur ein element enthalten
while ((tempb.getId() == temp.getId()) && (retb.getId() == ende.getId()))
{
if (tempb.getKey() <= retb.getKey())
{
if (s == 0)
{
beginn = tempb;
s++;
}
tempb = tempb.next;
} else {
if (s == 0)
{
beginn = retb;
s++;
}
tempa = retb.next;
swaptwo(tempb,retb);
retb = tempa;
}
}
}
//return des linkesten elements des merges
return beginn;
}
/**
* swaptwo Implementierung
*
* @param in zwei zu tauschende List-Elemente
*/
private void swaptwo (ListElement eins, ListElement zwei)
{
// "first" neu setzen wenn das 1.element der Liste vertauscht wird
if (slist.first.getId() == eins.getId())
{
slist.first = zwei;
}
//2 elemente tauschen
zwei.prev.next = zwei.next;
zwei.next.prev = zwei.prev;
zwei.prev = eins.prev;
zwei.prev.next = zwei;
zwei.next = eins;
eins.prev = zwei;
}
}
|
|
Die zusätzlichen klassen, vorgegeben:
|
Code: |
package ads1ss11.pa1;
/**
* Klasse zur Repräsentation einer doppelt verketteten Liste.
*
* <p>
* <b>WICHTIG:</b> Nehmen Sie keine Änderungen in dieser Klasse vor. Bei
* der Abgabe werden diese Änderungen verworfen und es könnte dadurch
* passieren, dass Ihr Programm somit nicht mehr korrekt funktioniert.
* </p>
*/
public class DoublyLinkedList {
private static int counter=0;
/** Zeiger auf das erste Element in der Liste */
public ListElement first;
/**
* Erzeugt eine doppelt verkettete Liste mit <code>start</code> als
* Startelement.
*
* @param start das erste Element der Liste.
*/
protected DoublyLinkedList(ListElement start) {
first = start;
first.next = first;
first.prev = first;
if(counter == Integer.MAX_VALUE) {
System.out.println("Zu viele DoublyLinkedLists angelegt!");
System.exit(1);
}
counter++;
}
/**
* @return counter
*/
public static int getCounter() {
return counter;
}
}
|
|
|
Code: |
package ads1ss11.pa1;
/**
* Klasse zur Kapselung eines Listenelements.
*
* <p>
* <b>WICHTIG:</b> Nehmen Sie keine Änderungen in dieser Klasse vor. Bei
* der Abgabe werden diese Änderungen verworfen und es könnte dadurch
* passieren, dass Ihr Programm somit nicht mehr korrekt funktioniert.
* </p>
*/
public class ListElement {
private static int counter = 0;
private int id;
@Override
public String toString() {
return ""+key+"";
}
/** Schlüssel dieses Listenelements */
private int key;
/** Zeiger auf das vorhergehende Listenelement */
public ListElement prev;
/** Zeiger auf das nachfolgende Listenelement */
public ListElement next;
/**
* Erzeugt ein neues Listenelement mit dem Schlüssel <code>_key</code>.
*
* @param _key der Schlüssel für das neue Listenelement.
*/
protected ListElement(int _key) {
key = _key;
prev = null;
next = null;
if(counter == Integer.MAX_VALUE) {
System.out.println("Zu viele ListElements angelegt!");
System.exit(1);
}
counter++;
id = counter;
}
/**
* Liefert den Schlüssel dieses Listenelements zurück.
*
* @return den Schlüssel dieses Listenelements.
*/
public int getKey() {
return key;
}
/**
* @return id
*/
public int getId() {
return id;
}
/**
* @return counter
*/
public static int getCounter() {
return counter;
}
}
|
|
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von -Paranoid- am 16.05.2011 10:38]
|
|
|
|
|
|
ist es möglich das in diesem teil hier etwas nicht passt da scheinbar die elemente nicht an der richtigen stelle landen?
|
Code: |
private void swaptwo (ListElement eins, ListElement zwei)
{
// "first" neu setzen wenn das 1.element der Liste vertauscht wird
if (slist.first.getId() == eins.getId())
{
slist.first = zwei;
}
//2 elemente tauschen
zwei.prev.next = zwei.next;
zwei.next.prev = zwei.prev;
zwei.prev = eins.prev;
zwei.prev.next = zwei;
zwei.next = eins;
eins.prev = zwei;
} |
|
|
|
|
|
|
|
|
|
|
|
|
nein nicht wirklich da wir das beispiel lösen sollen ohne eine andere liste oder elemente zu verwenden d.h. nur mit pointern umsetzen ...
der code sieht so extrem aus da ich ihn schon etliche male auseinandergerissen und neugschrieben habe und mir immer noch nicht sicher bin wo denn der fehler liegt.
der "divide" part klapt zu 99% aber irgendwo beim mergen oder tauschen haperts ...
danke trotzdem!
|
|
|
|
|
|
|
Wenn sich niemand sonst gefunden hat (WoS hat doch nie was zu tun!) guck ich mir das nach dem Mittagessen mal an.
|
|
|
|
|
|
|
| Zitat von [smith]
Wenn sich niemand sonst gefunden hat (WoS hat doch nie was zu tun!) guck ich mir das nach dem Mittagessen mal an.
| |
danke aber ich muss das ding bis 15 uhr abgegegeben haben ... ich depp hatte das über ein paar testfiles drüber laufen lassen und erst gestern festgestellt das er mit allem was nicht schon mehr oder wenig vorsortierte folgen sind probleme hat
ich habe den code oben ein wenig lesbarer gemacht und stimmt der pointerwechsel bei swaptwo (s.o.) ? der macht mir gerade sorgen und soweit ich nachvollziehen kann sollte alles passen ...
aber alles auf den letzten drücker machen ...
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von -Paranoid- am 16.05.2011 10:42]
|
|
|
|
|
|
| Zitat von [smith]
WoS hat doch nie was zu tun!
| |
Und noch weniger mit Sortieralgorithmen, oder?
|
|
|
|
|
|
|
Das ist ihm doch egal solange er eine 5 seitige Abhandlung dazu schreiben kann
Wie gesagt, ohne deinen Quellcode genauer gelesen zu haben, das hier macht irgendwie wenig Sinn oder?
zwei.prev.next = zwei.next;
zwei.next.prev = zwei.prev;
Hm wobei...
ok, ich gucks mir an
/e: Kannst du mir mal eben ein paar Eingabedaten geben bei denen es nicht funktioniert?
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von [smith] am 16.05.2011 11:00]
|
|
|
|
|
|
Moin moin,
ich hab mal eine Frage an die Physiker:
Wie hoch ist der elektrische Widerstand von Luft?
Und wie hoch ist der elektrische Widerstand von Motoröl?
Gruß
|
|
|
|
|
|
|
testinstanzen
ich hab mal mein konzept komplett über den haufen geworfen und versuche mich gerade einfach an der umsetzung von Wikipedia inspiriert
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von -Paranoid- am 16.05.2011 11:52]
|
|
|
|
|
|
| Zitat von GandalfDerPinke
Moin moin,
ich hab mal eine Frage an die Physiker:
Wie hoch ist der elektrische Widerstand von Luft?
Und wie hoch ist der elektrische Widerstand von Motoröl?
Gruß
| |
Das ist ein bisschen schwer zu sagen, weil die Definitionen (spezifischer Widerstand ist beispielsweise durch Länge und Querschnitt des Leiters/Isolators bestimmt) bei Flüssigkeiten und Gasen kaum einzuhalten sind.
|
|
|
|
|
|
|
| Zitat von Tony.50
| Zitat von GandalfDerPinke
Moin moin,
ich hab mal eine Frage an die Physiker:
Wie hoch ist der elektrische Widerstand von Luft?
Und wie hoch ist der elektrische Widerstand von Motoröl?
Gruß
| |
Das ist ein bisschen schwer zu sagen, weil die Definitionen (spezifischer Widerstand ist beispielsweise durch Länge und Querschnitt des Leiters/Isolators bestimmt) bei Flüssigkeiten und Gasen kaum einzuhalten sind.
| |
Glas leitet doch deutlich schlechter als Luft und Öl, richtig?
Wenn man einen Glaskolben entsprechend mit Öl und einem mit Luft füllt, sollte das ganze doch zu ermitteln sein, oder?
|
|
|
|
|
|
|
Das geht sicher irgendwie, zumindest für Flüssigkeiten finden sich auch einige Beispiele bei Wikipedia.
Als Nachschlagewerk wird dort empfohlen: Das hier.
Bei Luft schätze ich mal, dass es zum Durchschlag kommt, bevor da ein kontinuierlicher Strom fließt.
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von Tony.50 am 16.05.2011 12:12]
|
|
|
|
|
|
Mit Durchschlag meinst du den Lichtbogen?
Was hat denn wohl den höheren Widerstand? Das Öl oder die Luft?
|
|
|
|
|
|
|
Das Gas, würde ich sagen. Normalerweise sollte Luft ja überhaupt nur leiten, wenn sie Ionen irgendeiner Art enthält, außerdem sorgt allein schon die viel geringere Massendichte für einen höheren Widerstand.
/ Hmm, es gibt auch "Isolieröle" - interessant.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Tony.50 am 16.05.2011 12:25]
|
|
|
|
|
|
| Zitat von -Paranoid-
ich hab mal mein konzept komplett über den haufen geworfen und versuche mich gerade einfach an der umsetzung von Wikipedia inspiriert
| |
Gut, dann lasse ich das mal. Eure verkettete Liste ist nämlich einfach nur ein Haufen Scheiße und eure Übungsgruppenleiter sollten dafür geschlagen werden
Den Lerneffekt erkenne ich dabei übrigens auch nicht, abgesehen davon dass man schlecht implementierte Listen hassen lernt. Du hast soviel Ärger mit den dämlichen Pointern und ihren Klassen dass dir das Prinzip von MergeSort dabei doch völlig egal wird.
|
|
|
|
|
|
|
| Zitat von Tony.50
/ Hmm, es gibt auch "Isolieröle" - interessant.
| |
Tatsache. Man nennt sie wohl auch Transformatorenöle.
Das Zeug klingt gut.
Danke dir.
|
|
|
|
|
|
Thema: pOT-Informatiker, Mathematiker, Physiker VI ( Nur für echte PIMPs ) |