Ein paar Matrix-Funktionen

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Andreas_S
Beiträge: 787
Registriert: 14.04.2007 16:48
Wohnort: Wien Umgebung
Kontaktdaten:

Beitrag von Andreas_S »

Hu :mrgreen: sieht alles ganz nett aus :allright:

Leider hab ich noch keine Ahnung Matrix ect. :roll:

Würde mich zwr intressieren aber sieht auch sehr komplex aus (auch das in Wiki)

// edit:
Ich sags mal so, ich werde daraus nicht schlau :mrgreen: .

Aber :allright: !

Andreas.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8812
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

STARGÅTE hat geschrieben:ist vllt n dumme Frage, aber wieso hast du jetzt immer alle Proceduren "Doppelt" für Reelle und Komplexe Zahlen.

Du kannst das doch in einer vereinigen, denn die Komplexe Zahlen benhalten ja die Reellen, nur halt ohne den Imaginärteil.
Dann könntest du vllt Macros draus machen, sodass der Code je nach Zahlenart angepasst wird, das erspart dir n menge Code.
Du hast natürlich Recht.
Ich hab auch noch vor, ein Flag einzubauen, das den Typ der Matrix
angibt, um damit die doppelten Prozeduren rauszuwerfen.

Aber so entfallen natürlich ein paar 'If's und die Prozedur macht immer
alles so schnell wie es geht.

Ich weiß natürlich auch, dass die Reelen Zahlen Teilmenge der Komplexen
Zahlen sind, aber sie brauchen natürlich doppelt so viel Speicherplatz.

Aber mal schauen. Vielleicht habe ich ja morgen Lust und Zeit dafür den
ganzen Code etwas zu entschlacken.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7032
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

jojo aber wie wäre es mit Macros ?
wo Komplex oder Relle hinkommt das muss ja eh schon vor dem compilieren feststehen, sodass dort das Macro den Passenden Code "zusammen baut".

Gut wirst du ja alles selber wissen, ich lass dich mal arbeiten....
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8812
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Ich habe mal die Posts, die nicht in "Code, Tipps & Tricks" gehören ins
Anfänger-Forum verschoben.
Jack
Beiträge: 1
Registriert: 20.03.2005 03:43

Beitrag von Jack »

STARGÅTE hat geschrieben:ich erhalte von debugger die Nachricht:

Code: Alles auswählen

---------------------------
PureBasic - Assembler error
---------------------------
PureBasic.asm [2680]:

 dd SM_l

error: undefined symbol 'SM_l'.


---------------------------
OK   
---------------------------
ich spache nicht deuch, aber hier ist die fehler

Code: Alles auswählen

Structure Matrix 
  x.l         ;x-size 
  y.l         ;y-size 
  StructureUnion 
    *m.l ;<=============
    *ma.Matrix_d 
    *ma_cp.Matrix_cp 
  EndStructureUnion 
  *pm.Matrix   ;linked Matrix 
  xpos.l       ;left corner 
  ypos.l       ;upper corner 
EndStructure 
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8812
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Bei mir steht da kein '.l', und so ist es auch richtig. Wenn PB das nicht mag,
dann ist das ein Bug in der entsprechenden Version. Denn ein '.l' hinter
einem Pointer bringt gar nichts. Wenn ich ein '.b' dahinter schreiben, belegt
der Pointer trotzdem 4-Byte auf einem 32-Bit PureBasic.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8812
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

So, es gibt wieder ein Update.
Nähere Informationen dazu im ersten Post.
Antworten