Español
Fuente/ Codesnippets

Dimensionen uno Matrix ermitteln

 

p.specht

El echte Matrixmultiplikation erfordert, daß una el Matrizen, z.B. el Multiplikator-Matrix "gestürzt" se - meist diejenige rechts vom Malzeichen. El linke Es el Multiplikandenmatrix y restos aufrecht como ellos es (El Reihenfolge es en Matrizen nämlich NICHT egal). Der Mathe-Freak spricht de TRANSPOSITION T y kennzeichnet solche Matrizen con M´ oder transp(M).
Manchmal braucht uno dazu mehrere Kopien el selben Matrix, aber eben gestürzt. Natürlich podría uno sí simplemente Zeilen- y Spaltenindex vertauschen, pero en komplizierteren Matrixformeln (z.B. Eigenwertermittlungen) gerät uno muy ligeramente durcheinander, en welchem Teilergebnis al nun tun muß, en welchem no...

Feine Sache, daß entsprechende Procedures mittels PType$(n%)-Befehl erfahren puede, wes Typs y Dimension una como n%. Parámetro übergebenes Array es - uno voluntad sí schließlich no unanständigen Sachen anrichten.

Gerade fürs Transponieren muß uno nun de el PType-String ermitteln, como groß lo en allen vorhandenen Richtungen eigentlich es. Es relativ mühsam - antes allem si son mehrdimensionale Arrays es (XProfan kann actualmente a a 3 Dimensionen, el Commodore 64 podría a a 14 ). Nachstehend mi diesbezüglichen Bemühungen.


Font 2:Selección aleatoria:Cls Rnd(8^8)
Declarar a![1323,50,20],b![50,100],c![50],d!,e![]
Declarar a$[0,0,0],b$[1,0],c$[0],e$,f$[]
Declarar x&,y&,z&, typ$,di& '= Dimensionen (0: Skalar)

'Parameterwert en el Klammer testweise tauschen:
GetXYZ( a![] ) ' belegt Variables typ$, di& y, si
' sinnvoll el Variables x&,y&,z&
WaitInput
End
'----------------------------------------------------
PROC GetXYZ
var pt$=ptype$(1)
var verbose%=1 ' 1: Kontrollausgabe una
typ$=mid$(pt$,1,1)
if match$(",[0-9]+,",pt$)>""
x&=val(match$("[0-9]+",match$("~[[0-9]+",pt$) ))
y&=val(match$("[0-9]+",match$(",[0-9]+,",pt$) ))
z&=val(match$("[0-9]+",match$(",[0-9]+~]",pt$) ))
di&=3:caso verbose%:imprimir x&,y&,z&,-di&
elseif match$("~[[0-9]+,[0-9]+~]",pt$ )>""
x&=val(match$("[0-9]+",match$("~[[0-9]+",pt$) ))
y&=val(match$("[0-9]+",match$(",[0-9]+~]",pt$) ))
di&=2:caso verbose%:imprimir x&,y&,-di&
elseif match$("~[[0-9]+~]",pt$) >""
x&=val(match$("[0-9]+",match$("~[[0-9]+~]",pt$) ))
di&=1:caso verbose%:imprimir x&,-di&
elseif match$("~[", pt$ ) = ""
di&=0:caso verbose%:imprimir -di&;" Skalarwert"
elseif match$("~[]", pt$ ) > ""
di&=-1:caso verbose%:imprimir -di&;": Dynamisches Array!"
más
imprimir "ERROR: Interpretationsfehler ptype en GetXYZ()"
Endif
caso verbose%: imprimir "Typ = "; typ$
ENDPROC
 
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
17.04.2021  
 




Michael
W.
...no ausgewogene "[]" y Anführungszeichen...
 
Alle Sprachen
System: Windows 8/10, XProfan X4
Programmieren, das spannendste Detektivspiel der Welt.
29.04.2021  
 




p.specht

Das Board scheint con meiner Zusammenfassung el Zeilen no einverstanden gewesen a ser. Reparatur war sólo como CONSOLE-Texto posible, sonst es wegen el Boardlogik el Interpretation el Tilde ~ como externer Funktionsaufruf en lugar de como regex-Steuerzeichen-Escape...

Sollte nun passen, zumindest para XProfan 11.2a free ...

WEISS MARKIEREN, RECHTE MAUSTASTE DARAUF, KOPIEREN
 
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
29.04.2021  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

981 Views

Untitledvor 0 min.
N.Art27.11.2022
Ernst21.07.2021
Glubbfan19.06.2021
Uwe ''Pascal'' Niemeier13.06.2021
Más...

Themeninformationen

Dieses Thema ha 2 subscriber:

p.specht (2x)
Michael W. (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie