Matrizen und magische Quadrate
übermatrizen.
In der MATLAB®Umgebung ist eine Matrix ein rechteckiges Zahlenarray. Eine Sonderbedeutung kommt manchmal 1x1-Matrizen zu, bei denen es sich um Skalare handelt, und Matrizen mit nur einer Zeile oder Spalte, bei denen es sich um Vektoren handelt. In MATLAB gibt es andere Möglichkeiten, numerische und nicht numerische Daten zu speichern, aber am Anfang sollte in der Regel alles als eine Matrix betrachtet werden. Die Operationen in MATLAB sind so natürlich wie möglich konzipiert. Wo andere Programmiersprachen jeweils mit einzelnen Zahlen arbeiten, können Sie in MATLAB schnell und einfach mit ganzen Matrizen arbeiten. Eine gute Beispielmatrix, die in diesem Dokument verwendet wird, ist in dem Kupferstich Melencolia I (Die Melancholie) des deutschen Künstlers und Amateurmathematikers Albrecht Dürer abgebildet.
Dieses BildEnthälteine vielfalt mathematischer somegandik und bei Genauer Betrachtung Entececken Sie Oben RECHTS矩阵。Diese Matrix Ist Als Magisches Quadrat Bekannt und Wurde ZuDürersZeitenTatsächlichMitMagischen Magischen在普罗瓦坪Gebracht。在Der Tat Weist Es Einige Faszinierende Merkmale Auf,Die EineNähereBetrachtungWert Sind。
Eingeben von Matrizen
Matlab Einzuarbeiten的UM Sich,Sollten Sie Sich Mit der Handhabung von Matrizen Vertraut Machen。Sighten Sie Matlab und Befolgen Sie Die AnweisungenFürieeinzelnenBeispiele。
EsGibtVieleMöglichkeiten,Matlab Einzugeben的Matrizen:
Eingben Einer Expliziten liste von元素。
Laden von Matrizen aus externen Datendateien.
Generieren von Matrizen mithilfe integrierter Funktionen.
Erstellen von Matrizen mithilfe Ihrer eigenen Funktionen und Speichern dieser Matrizen in Dateien.
Beginnen Sie Mit Der Eingabe vondürers矩阵als liste ihrer元素。SieMüssenSichdabei Nur An Einige Grancdlegende Konventionen Halten:
Trennen Sie Die Elemente Einer Zeile Mit Leerzeichen Oder Kommas。
Verwenden Sie Einen Strichpunkt,
;
,UM Das Ende der Einzelnen Zeilen Festzulegen。Schließensie die gesamte liste在埃克里格klammernein,
[]
.
Geben Sie Dürers Matrix einfach in das Befehlsfenster ein
a = [16 3 2 13;5 10 11 8;9 6 7 12;4 15 14 1]
MATLAB zeigt die soeben eingegebene Matrix an:
A = 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1
Diese Matrix stimmt mit den Zahlen im Kupferstich überein. Sobald Sie die Matrix eingegeben haben, wird sie automatisch im MATLAB Arbeitsbereich gespeichert. Sie können sie einfachA
nennen。达西奇A
jetzt im Arbeitsbereich befindet, können Sie herausfinden, was sie so interessant macht. Warum ist sie magisch?
sum, transpose und diag
MöglicherweiseWissen Sie Bereits,Dass Die Besonderen Eigenschaften EinesMagischen Quadrats AUF Dieverschiedenenmöglichkeitenzumsummieren seiner Elementezurückzuführensind。Wenn Sie Die Summe Einer Beliebigen Zeile Oder Spalte Oiner der Beiden Hauptdiagonalen Bilden,Ergibt Sich Stets Dieselbe Zahl。Überprüfen筛子模具弥撒史蒂姆·穆特尔布。Probieren Sie Als Estes Die Folgende Anweisung Aus:
sum(A)
MATLAB antwortet mit
ANS.= 34 34 34 34
Wenn Sie keine Ausgabevariable angeben, verwendet MATLAB die VariableANS.
,DieAbkürzungfürANS.wer(Antwort), um die Ergebnisse einer Berechnung zu speichern. Sie haben einen Zeilenvektor berechnet, der die Summen der Spalten vonA
enthält。jede der spalten ergibt dieselbe summe,死了magische34岁的Summe。
doch wie sieht es mit den shumen der zeilen aus?Matlab Arbeitet Bevorzugt Mit Den Spalten einer Matrix,SodasseeineMöglichkeitZumErmittelnder Zeilensummen Darin Besteht,Die MatrixZu Transponieren,Die Spaltensummen Der Transponierten Zu Berechnen undAnschließenddasergebniszu transponieren.
In MATLAB gibt es zwei Operatoren für das Transponieren. Der Apostrophoperator (zum Beispiel一个“
) führt eine komplexe konjugierte Transposition aus. Er spiegelt die Matrix um ihre Hauptdiagonale und ändert das Vorzeichen der imaginären Komponente aller komplexen Elemente der Matrix. Der Punkt-Apostroph-Operator (一种。'
), transponiert ohne Auswirkungen auf das Vorzeichen komplexer Elemente. Bei Matrizen, die ausschließlich reelle Elemente enthalten, führen beide Operatoren zum gleichen Ergebnis.
Daher ergibt
一个“
Folgendes:
ans = 16 5 9 4 3 10 6 15 2 11 7 14 13 8 12 1
und
总和(a')'
Ergibt Einen Spaltenvektor,Der Die ZeilensummenEnthält
ANS.= 34 34 34 34
EineWeitereMöglichkeitZumSummieren der Zeilen,Bei der Das Doppelte Transponieren Vermieden Wird,IST Die Verwendung DesDiumitsomsArgumentsFüriefunktionsum
:
总和(a,2)
ergibt
ANS.= 34 34 34 34
De Summe der Elemente der Hauptdiagonalen Wird Mit Den Funktionensum
und诊断
ermittelt:
诊断(A)
ergibt
ans = 16 10 7 1
und
sum(diag(A))
ergibt
ANS.= 34
Die andere Diagonale, die sogenannteAntidiaggonale.,Ist Aus Mathematischer Sicht Weniger Wichtig,Sodass Es在Matlab Keine Vordefileen FunktionDafürGibt。Doch Eine Funktion,DieUrsprünglichfürdeneinsatz在Grafiken Gedacht战争中,fliplr
,Spiegelt Eine Matrix VON链接NACH RECHT:
总和(诊断(fliplr(a)))ans = 34
Jetzt Haben Sie Gesehen,Dass Die Matrix IM Kupferstich VonDürerTatsächlichEinMagisches Quadrat Ist und dabei Einige Matrixoperationen von Matlab Ausprobiert。Diese Matrix Wird Auch在Den Folgenden Abschnitten Verwendet,UMZusätzlicheMatlab Funktion Zu Veranschaulichen。
Die Funktion Magic
In MATLAB ist eine Funktion integriert, mit der magische Quadrate fast jeder Größe erstellt werden können. Es überrascht nicht, dass diese Funktion魔法
genannt wird:
B =魔术(4)B = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1
Die Matrix ist nahezu mit der in Dürers Kupferstich identisch und weist dieselben „magischen“ Eigenschaften auf. Der einzige Unterschied ist, dass die beiden mittleren Spalten vertauscht sind.
Sie können die beiden mittleren Spalten vonB
vertauschen, sodass sie aussehen wie DürersA
. Ordnen Sie für jede Zeile vonB
Die Spalten在Der Decre 1,3,2,4,4 Angegebenen Reihenfolge Neu An:
a = b(:,[1 3 2 4])
A = 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1
Generieren von Matrizen
Die Software MATLAB stellt vier Funktionen zur Verfügung, die grundlegende Matrizen generieren.
Ausschließlich Nullen |
|
Ausschließlicheinsen. |
|
Gleichmäßig verteilte Zufallselemente |
|
正常的垂直zufallsemente. |
Hier einige Beispiele:
Z = zeros(2,4) Z = 0 0 0 0 0 0 0 0 F = 5*ones(3,3) F = 5 5 5 5 5 5 5 5 5 N = fix(10*rand(1,10)) N = 9 2 6 4 8 7 4 0 8 4 R = randn(4,4) R = 0.6353 0.0860 -0.3210 -1.2316 -0.6014 -2.0046 1.2366 1.0556 0.5512 -0.4931 -0.6313 -0.1132 -1.0998 0.4620 -2.3252 0.3792