Hallo,
ich bin auf der Suche nach einer freien Bibliothek zur Integration einer Funktion ala
I := integral_a^b integral_c^d f(x, y) dxdy
Kennt jemand von euch hierzu eine Bibliothek? Sprache der Bib ist egal, sofern eine Schnittstelle zu C, C++ oder C# existiert.
Vielen Dank, Thomas
Hallo BerndFfm,
diese Beitrag motivert mich sogar dazu, etwas zu schreiben 🙂
Im Endeffekt hat herbivore bereits alles dargestellt. Die Aussagen lassen sich mit jedem Mathematik-Buch oder Formelsammlung belegen. Zudem gibt es bestimmt in der DIN, VDI, ISO oder IEEE etliche Artikel und Normen hierzu.
Eine kleine Rechnung im 10er System nach dem Beispiel deines Lehrers 🙂 (Keine Umrechnung, sondern nur zerlegung)
[0, 1, 2, ... 9, 10]
24 = 2 * 10^1 + 4 * 10^0
10 = 0 * 10^1 + 10 * 10^0
oder
10 = 1 * 10^1 + 0 * 10^0
was nun? Beides is richtig nach dem Vorgehen des Lehrers :)
Hallo,
gibt es irgendwo eine Seite mit Informationen, mit denen man die Ping-Zeit eines Client der sich am Standort x aufhält abzuschätzen?
z.B. Server ist in DE und der Client in Australien
Mit welcher Ping-Zeit muss man rechnen?
z.B. Server-Position ermitteln, damit alle bekannten Clients eine Pingzeit < x erreichen können.
Vielen Dank, Thomas
Hat sich erledig. Habe das Problem mit Hilfe eines Quaders in einem krummliegenden KOS mit vier Kurven als Begrenzungsfläche gelöst.
Hallo,
ich habe ein kleines Mathe-Problem mit krummliegenden Koordinaten.
Eine nichtlineare Funktion y = f(x) beschreibt eine stetig differenzierbare Kurve. Diese Kurve soll nun für mein krummliegendes Koordinatensystem (KOS), mit den Richtungen u1 und u2, die "0"-Linie sein. Spich, ein Punkt mit den lokalen Koordinaten u1=... und u2 = 0 liegt auf der Kurve. Die Richtung u1 des KOS ergibt sich anhand der Richtungsableitung von f(x) (Steigung). u2 sollt senkrecht auf u1 stehen.
Ich benötige das KOS zur Interpolation von Werten in der Nähe der Kurve und muss daher eine Transformationsvorschrift von u1, u2 nach x, y finden.
Mein Problem zur Zeit ist. Wie bekomme ich, mit Hilfe der Numeric,
x = x( u1 , u2 )
y = y( u1 , u2 )
u1 = u1( x , y )
u2 = u2( x , y )
ausgedrückt?
Beispiel mit Polarkoordinaten
x = x(u1 , u2) = u1 * cos u2
y = y(u1 , u2) = u1 * sin u2
....
Hallo,
erstmal eine Begriffsklärung. Ich kenne den korrekten Begriff nicht, daher
Cluster-Farm := Kurse Server, die ganze Räume belegen
Wie sehen Programme aus, die auf diesen rießigen Server laufen?
Was trifft zu.1.Ist das ein Program (Prozess) mit x Threads?
1.Auf jedem Board sind mehrere CPU's verbaut und es läuft ein Programm je Board. Die Programme auf den Board's kommunizieren über High Speed Anbindungen?
1.Etwas anderes
Edit: Wo findet man Literatur zu diesem Thema?
Vielen Dank, Thomas
Ist das Programm von dir?
Wie sieht die Hardware von den Windows 7 Rechner aus?
Welche Befehle und Shader-Version benutzt du? Wird diese von der Geforce 7x unterstützt?
Hallo,
Welche Hardware sind in den einzelnen Rechnern verbaut?
Alle Treiber aktuell?
Das ist kein OpenGL-Problem. Das Problem ist eher bei der Hardware oder Windows zu suchen 😉
Gruß, Thomas
Der arme Hacker müsste dann vor jedem erneuten Hack das File wieder und wieder kopieren ...
Oder*in einer virtuellen Maschine den Zustand zurücksetzen *ein Filesystem ala Solaris ZFS oder btrfs von Linux, mit eingebauter Versionskontrolle (Snapshot), benutzen.
😁
Hallo,
kaum geschrieben, schon eine Lösung 😃 Na egal.
Meine derzeitige Lösung ist das entwickeln der Matrix nach der ersten Spalte. Dann fallen die e-Vektoren aus der Determinante heraus und ich kann mit einer Matrix-Klasse die Unterdeterminanten berechnen.
Danke, Thomas
Hallo,
ich schreibe mir eine kleine Library für affine Koordinaten. Jedoch habe ich beim Kreuzprodukt ein kleines Problem. Ich kann es nicht für n-Dimensionen auflösen
n = Anzahl der Dimensionen
sei a und b ein Vektor mit n-Elementen
a = [ a1, a2, a3, ... an]^T; b = [ b1, b2, b3, ... bn]^T; a1, a2, ... sind Zahlen
e Einheitsvektor des Koordinatensystem;
e = [ e1, e2, e3, ... en]^T; e1, e2, ... sind Spaltenvektoren
Beispiel: Kartesisches Koordinaten in 3D
e = [ [ 1, 0, 0],
[ 0, 1, 0],
[ 0, 0, 1]]
Das Kreuzprodukt für n-1 lässt sich in Matrizenschreibweise darstellen
Result = det | e a b c d .... |
= det | e1 a1 b1 ... |
| e2 a2 b2 ... |
| .. .. .. ... |
Edit: Code-Block nicht korrekt
Die Spaltenzahl der Matrize ist immer 3. Die Einheitsvektore e1, e2, ..., en dürfen nicht zerlegt werden.
So, wie lösse ich jetzt die Determinante der Matrize für beliebige n mit n ≥ 2. Gut, bis n=4 kann ich es auch mit der Hand machen. Ich würde es aber gerne auch für höhere n dies erledigen.
In der Praxis wirst du ja eh nie alle Elemente gleichzeitig eingelesen haben, sondern eher parallel schon mit der Verarbeitung beginnen.
Hat jemand für diese Vorgehen zufällig mal ein Beispiel zur Implementierung?
Die Anforderung für ein einfaches Beispiel ist ziemlich übersichtlich
Wenn es so übersichtlich ist, warum gibst du nicht ein Beispiel vor 🤔 Hier wird dir keiner die Aufgabe lösen oder häbchenweise servieren. Wenn du eine gezielt Frage hast, dann stell diese. Rede nicht um den heisen Brei herum in der Hoffnung, dass dir die Lösung einfällt.
Wenn ich deinen ersten Beitrag lese, dann entnehme ich
Gut. Der letzte Punkt mit dem Verarbeiten ist der entscheidende Punkt.
Mach dir klar, dass du nur die Infos im Speicher haben musst, die du in den nächsten ns (nano sekunden) benötigst!
Ich möchte mich nicht wiederhollen. Bitte ließ meinen ersten Beitrag und formuliere wenn nötig eine konkrete Frage.
Wie könnte man so etwas implementieren, dass die Berechnung des Schnitts schon beginnt, während noch eingelesen und geparsed wird?
Hierzu gibt es ein paar Vorgehensweisen, die man in Büchern findet.
z.B. 2 Threads + eine Queue (abstract data type)
Hallo dwoe,
wow, so viele Antworten auf eine nicht spezifizierte Aufgabenstellung. Erstaunlich 😁
Generell gilt:
"Probieren geht über studieren" oder "Code schreiben, testen, einen Profiler benutzen und die relevanten Stellen optimieren"
Zu deiner Aufgabenstellung
der Aufgabe sehr viele (>2000), sehr große (>80MB) Textdateien einlesen und verarbeiten
...
Bei der Menge an Daten und Dateien kommt es schon auf ein paar Sekunden an.
Ähm, eine Sekunde mehr oder weniger ist wichtig. Gut. Aber auf was bezogen? Damit kann man erst einmal nichts anfangen.
Wir wissen auch nicht wo die Dateien liegen und ob du überhaupt jede Zeile einlesen musst.
Wenn du z.B. mit einem 54K Modem mit einer Anlage verbunden bist und über diese Leitung die Daten transportierst, dann dauert das auf Grund der geringen Transferrate eine Ewigkeit. Daher solltest du erstmal ermitteln, welche Transferrate du für die Aufgabenstellung benötigst.
1. Benötigte Transferrate bestimmen
z.B. 4000 Dateien mit je 100 MB in 10 s laden
4000 * 100 MB / 10 s =
= 40.000 MB / s
= 39 GB / s
2. Infrastruktur überprüfen und ggf. anpassen
So, liegen die Daten auf einer HDD-Festplatte auf einem normalen Rechner (ohne RAID & Co.), dann hast du evtl. ein kleines Problem. Dieses Problem gilt es zu lösen.
3. Programm erstellen
Jetzt kannst du dein Programm erstellen. Schreib es einfach mit den Kentnissen die du hast. Die C# Klassen zum lesen und schreiben von Dateien arbeiten sehr gut und besitzen in der Regel auch einen Buffer im Hintergrund.
4. Testen und Optimieren
Hier kann man noch einiges an Zeit gewinnen, falls es notwendig ist. Doch das ist erstmal nicht von interesse.
Gruß, Thomas
Hallo,
seit den letzten zehn Jahren scheint es modern zu sein, eine eigene neue Programmiersprache zu entwerfen und besitzen. Die meisten Sprachen sind meistens für einen speziellen Zweck entworfen worden oder können sich nicht auf lange Zeit durchsetzen.
Vor einigen Wochen hat Mozilla eine neue Programmiersprache mit dem Namen Rust auf den Markt geworfen. Die Sprache + Framework befinden sich noch in einem sehr frühen Entwicklungsstand. Jedoch sind die ersten Konzepte umgesetzt und sind durch aus einen Blick wert.
Offizielle Seite
Mich würde eure objektive Meinung bezüglich dieser Sprache interessieren.
Gruß, Thomas
"alles was nicht .NET ist, ist scheisse"
"Java ist die einzig ware Programmiersprache"
....
Hallo,
man kann sich herbivore's Ausführungen nur anschließen.
Ein Beispiel, dass managed code kein Nachteil sein muss.
Raytracing auf der Java-Plattform 100% Java
und das ganze mit eine Tempo, wo andere erst einmal mit kommen müssen.
Gruß, Thomas
Hallo,
Die eigentlich Frage ist, wer eigentlich alles zur Firma gehört, und damit das Recht hat, diese Lizenzen auch zu nutzen. Bei Angestellten, Praktikanten usw. ist der Fall klar, aber wie ist das mit Freiberuflern und Studenten mit Werkvertrag?
Das würde ich doch lieber mit dem Lizenzgeber abklären. Irgendwo ist das sicherlich vermerkt. Eine Lizenz kann z.B. auch auf eine spezielle Abteilung oder Tätigkeit (z.B. nur für "interne" Arbeiten) begrenzt sein.
--> Das wird dir hier niemand zu 100% beantworten können.
Mfg, Thomas
Hallo,
einige native Programmiersprachen, wie z.B. C++ oder Rust, besitzen eine eigene ABI (application binary interface). Im Falle von C++ kann sich diese von den verschiedenen Kompilern unterscheiden.
Ich verstehe jetzt nicht so genau, wieso eine Programmiersprache so etwas besitzt. Bis jetzt dachte ich immer, dass dies eine Aufgabe des Betriebssystem ist.
1.Wieso benötigt eine Programmiersprache wie C++ eine eigene ABI?
1.Bestitzt C eine ABI und wenn (ja/nein) warum?
1.Kann man in einer ABI einer nativen Programmiersprache so etwas wie Reflection hinterlegen?
Mfg, Thomas
Hallo,
Bei einem Copyright ist zu beachten dass das "All rights reserved" nicht fehlen sollte.
Ähm, wieso darf das nicht fehlen? Das Urheberrecht sorgt automatisch dafür. (Auch das amerikanische Urheberrecht)
Hallo,
für alles rund um Icon und Co nutze ich Inkscape.
PS: In der Standard-Installation unterstützt Inkscape das *.ico Format nicht. Es ist aber nicht all zu schwer hierfür ein Skript zu basteln, dass mit Hilfe von Gimp das Ergebniss nocht konvertiert:
How to create icons for applications deployed for the Windows XP/2000/NT platform
Hallo,
also, die max. positive Zahl erhälst du
2^(n-1)-1
n := Anzahl der Bits
Die Anzahl der darstelllbaren Stellen im 10er System
log (2^(n-1)-1)
log := 10er Logarithmus
Bei 4 GB Arbeitsspeicher = 2^32 Bits ergibt das
log (2^(2^32-1)-1)
Wolframalpha: [URL=http://www.wolframalpha.com/input/?i=log[10%2C+%282^%282^32-1%29-1%29]]Berechnung[/url], Ergebnis
Bei 4GB Speicher kann eine Zahl mit 109 Zehnerpotenzen abgespeichert werden.
z.B. 10(10^9)
Gruß, Thomas
Hallo,
die Verschlüsselung von Dateien ist mit GnuPG auf Windows und Linux sehr einfach möglich. Damit die Gegenseite die Nachricht entschlüsseln kann, muss der öffentliche Schlüssel bekannt sein. (So weit ich das Verstanden habe).
Aber wie bekommt die Gegenseite den öffentlichen Schlüssel. Folgende Möglichkeiten sind mir bekannt*per Post *E-Maill *Keyserver *Öffentlichen Keyserver *eigene Webseite
Leider habe ich das Konzept mit den öffentlichen Schlüsseln noch nicht ganz verstanden.1.Stellt eine veröffentlichung des Schlüssels z.B auf Webseite ein Sicherheitsrisiiko dar? 1.Wer keinen öffentlichen Schlüssel hat, der kann auch nichts entschlüsseln. Sollte man darauf achten, dass nur bekannte Personen den öffentlichen Schlüssel besitzen? Wie sieht es dann aus, wenn man auf einmal einer weiteren Person eine Nachricht senden will? 1.Wie sinnvoll ist die Verwendung von öffentlichen Keyservern bei E-Mails? 1.Gibt es eine gute Alternative zu GnuPG bzw. PGP zur Verschlüssenlung von Daten und Nachrichten?
MfG, Thomas
P.S. Den Namen für dieses Unterforum finde ich klasse 😁
Hallo,
was genau willst du auslesen und für was brauchst du diese Informationen?
Coder007 hat bereits erwähnt, dass der Weg über einen C++/CLI-Wrapper immer möglich ist. Die API zu Nvidia findest du unter http://developer.nvidia.com/nvapi
Hallo,
mit den offiziellen OpenGL und OpenCL Befehlen kannst du sehr viele Informationen auslesen. Lediglich die Temperatur und ein paar weitere nicht wichtige Informationen lassen sich nicht auslesen.
Auszug aus der OpenCL-Manpage: http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/*clGetPlatformInfo *clGetDeviceInfo *clGetContextInfo
Gruß, Thomas
Hallo Bernd,
Was mir an der aktuellen Hilfe nicht gefällt ?
Die Hilfe sollte moderner aussehen (Liegt natürlich auch an meinem HTML-Code). Vielleicht eher einem herkömmlichen Buch angelehnt.
Persönlich finde ich die Hilfe im HTML-Format sehr gut. Es bietet die nötigen Informationen und ist schlicht gehalten. Bei "Moderne Layouts" verliert man meist die eigentliche Bedeutung einer Hilfe aus den Augen. Hauptsache es sieht gut aus. Nach diesem Motto wird viel entwickelt. Man sieht auf dem Markt, was dabei raus kommt.
Zudem finde ich ein Layout eher hinderlich. Optische Elemente verwischen den Inhalt, was letztendlich das Suchen nach Informationen erschwert. Zudem muss eine Arbeitssoftware keinen Schönheitspreis gewinnen.
Was ich persönlich von Matlab aus kenne und sehr schätze ist die F1-Taste. Wenn man eine geziehlte Hilfe möchte, dann könnte man sich an der Position der Maus oder des Coursers orientieren und an dieser Stelle einen kleinen Dialog mit der nötigen Hilfe aufmachen (z.B. im HTML-Format). Wenn die Inhalte der Dialoge nicht zu groß und dennoch die gewünschten Informationen enthalten ist dies eine gute Möglichkeit den Benutzer zu unterstützen.
MfG, Thomas
Hallo,
das ist hier ebenfalls mein erster Beitrag. Ich verfolge bereits seit mehreren Monaten die Beiträge in diesem Forum und bin von der Qualität sehr beeindruckt.
Zum Thema. Es gibt eine sehr gute Bibliothek (Multiple Precision Arithmetic Library) zu großen Zahlen mit folgenden Typen*Integer *Rational *Fließkommazahl
Es handelt sich hierbei um eine C Bibliohtek, die sehr einfach eingebundet werden kann. Die Bibliothek bietet alles, was man zur Umsetzung eines Taschenrechners mit "unendl." großen Zahlen benötigt.
Gruß Thomas