|
|
Seltsame Definition einer Matrix und Rolle des Semikolon |
|
mathphys |

Forum-Century
|
 |
Beiträge: 130
|
 |
|
 |
Anmeldedatum: 03.06.11
|
 |
|
 |
Wohnort: Deutschland
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.08.2011, 12:29
Titel: Seltsame Definition einer Matrix und Rolle des Semikolon
|
 |
Hallo
ich habe folgende Definition einer Matrix:
Dabei sind xG, yG, zG, drei Vektoren (1x3 Matrizen in double) die ich habe.
Was passiert da? Ich dachte, dass Matrix(:,n) die n-te Spalte von Matrix ausgibt. In meinem Code existiert aber keine Matrix r.
Ein Beispiel: Ich habe
und erhalte
und mit Semikolon erhalte ich keine Ausgabe im prompt. gebe ich dann ans ein, kommt 0.
2.) Was ist eigentlich die Rolle des Semikolons hinter MATLAB Befehlen. Ich dachte bis jetzt, dass das nur bedeutet, dass MATLAB es als Befehl interpretiert, doch z.B.
ergibt ein anderes Ergebnis als
Wo ist der Unterschied?
Grüsse
_________________
Besser ne Taube auf'm Dach als nen Stuhl inner Kiste
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 07.08.2011, 12:40
Titel:
|
 |
Hallo,
1. du kannst mit Indizierung abfragen, aber auch zuweisen.
Hier wird eine Matrix spaltenweise erstellt.
2. Strichpunkt am Ende einer Zeile unterdrückt die Ausgabe. Das Ergebnis ist also gleich, es wird nur nicht im Command Window angezeigt.
Vielleicht solltest du dir das mit einem Einführungskurs doch nochmal überlegen...
Grüße,
Harald
|
|
|
eupho |

Forum-Meister
|
 |
Beiträge: 777
|
 |
|
 |
Anmeldedatum: 07.01.09
|
 |
|
 |
Wohnort: Marburg
|
 |
|
 |
Version: R2009b
|
 |
|
|
 |
|
Verfasst am: 07.08.2011, 12:43
Titel:
|
 |
+1 für Einführungskurs
|
|
|
mathphys |
Themenstarter

Forum-Century
|
 |
Beiträge: 130
|
 |
|
 |
Anmeldedatum: 03.06.11
|
 |
|
 |
Wohnort: Deutschland
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.08.2011, 13:30
Titel:
|
 |
Ich würde gerne so einen Kurs machen, doch das wird mir nicht bezahlt. Habe ich schon danach gefragt
Wenn auch mühsam, ich lerne dank eurer Hilfe kosequent dazu. Die Zahnräder drehen langsam, doch sie drehen
Zum Code:
Wieso macht denn
eine 3x3 Matrix? Rechts steht ein 3-dim. Spaltenvektor (weil ' Transposition ist) und links definiere ich diese Matrix.
Ich kapiere die Ausgabe nicht. Wie definiert der sich diese Matrix zusammen, die da entsteht?
Grüsse
_________________
Besser ne Taube auf'm Dach als nen Stuhl inner Kiste
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 07.08.2011, 13:42
Titel:
|
 |
Hallo,
Wenn r vorher nicht existiert, wird da keine 3x3 - Matrix entstehen. Dann wird r schlicht und einfach xG' sein.
Wenn r vorher definiert war, wird der Befehl die erste Spalte verändern.
Im zunächst angegebenen Code wird das dadurch eine 3x3 - Matrix, dass man die Spalten nacheinander belegt.
Was einen Kurs angeht: oft hilft es, den Entscheidungsträgern begreiflich zu machen, dass Arbeitszeit (und damit letztlich auch Geld!) gespart wird, wenn man eine systematische Einführung bekommt anstatt sich von Problem zu Problem zu hangeln.
Grüße,
Harald
|
|
|
mathphys |
Themenstarter

Forum-Century
|
 |
Beiträge: 130
|
 |
|
 |
Anmeldedatum: 03.06.11
|
 |
|
 |
Wohnort: Deutschland
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.08.2011, 14:51
Titel:
|
 |
Harald hat Folgendes geschrieben: |
Wenn r vorher nicht existiert, wird da keine 3x3 - Matrix entstehen. Dann wird r schlicht und einfach xG' sein. |
Aber das ist hier nicht der Fall.
Ich habe
und ich habe absolut sicher kein r vorher irgendwo definiert oder eingeführt. Es gibt kein r. Dann kommt
und ich erhalte als Ausgabe
Das verstehe ich nicht
Grüsse
_________________
Besser ne Taube auf'm Dach als nen Stuhl inner Kiste
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 07.08.2011, 15:03
Titel:
|
 |
Dann steht r von der vorherigen Ausführung aber noch im Workspace
Daher gibt er dann die komplette Matrix aus und nicht nur die erste Spalte. Setzte mal ein clear all zu Beginn des m-file und halte direkt nach
an. Dann wird dir nur die 1. Spalte ausgegeben, da r nicht mehr Elemente hat. Im Übrigens ist das Transponieren hier ohne Wirkung, da du explizit angibst, dass die Werte in xG als Spaltenvektor in r geladen werden sollen.
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 07.08.2011, 16:49
Titel:
|
 |
Hallo mathphys,
Vorher muss ein r existiert haben. Du kannst es ja einfach mal testen und Dir r anzeigen lassen. Zudem könnte noch "whos" hilfreich sein.
Ich rate vom unbedachtem Einsatz von "clear all" ab. Es löscht auch alle in den Speicher geladenen Funktionen, so dass das Nachladen einige Zehntelsekunden bis Sekunden benötigt. Zudem werden alle PERSISTENT Variablen gelöscht und viele Funktionen müssen neu initialisiert werden.
Um Variablen zu löschen ist "clear" ohne "all" viel effizienter. Noch besser ist es, die zu löschende Variable mit anzugeben:
Gruß, Jan
|
|
|
mathphys |
Themenstarter

Forum-Century
|
 |
Beiträge: 130
|
 |
|
 |
Anmeldedatum: 03.06.11
|
 |
|
 |
Wohnort: Deutschland
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.08.2011, 10:24
Titel:
|
 |
Hi
ich kapier es nicht. Ich habe zum heraus finden was passiert eine neue Datei erstellt, den kompletten Speicher extra gelöscht und folgendes eingegeben und erhalten:
Was macht das hier mit meinen Vektoren?
Grüsse
_________________
Besser ne Taube auf'm Dach als nen Stuhl inner Kiste
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 08.08.2011, 10:38
Titel:
|
 |
Hallo,
bitte vor dem Code mal
eingeben. Es ist offensichtlich doch noch ein r im Workspace. Bei mir kommt nämlich das zu erwartende Ergebnis:
r =
1
1
1
r =
1 2
1 2
1 2
r =
1 2 3
1 2 3
1 2 3
Grüße,
Harald
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|