|
|
6x6 Matrix mit Variablen, lineare Gleichungssysteme |
|
Student417 |
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 19.05.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.05.2021, 13:26
Titel: 6x6 Matrix mit Variablen, lineare Gleichungssysteme
|
|
Hallo zusammen.
Ich bin absoluter Neuling auf dem Gebiet mit Matlab programmieren.
Ich frage mich wie ich mein Gleichungssystem am elegantesten in Matlab lösen kann und daraus ein Programm erstelle.
[img]https://ibb.co/ZWW8NV5[/img]
Der Spaltenvektor mit den Werten F1,F2,F3,F4,Fab,Fbc sind die Unbekannten die ich herausfinden will. Alle anderen Variablen sind gegeben, aber sollen vorher eingegeben werden.
Man gibt dann vorher beispielsweise ein:
x3=20
x2=2,5
x4=20
a=10
b=10
c=10
Fa=400000
Fb=400000
Fc=400000
usw.
Im Prinzip müsste ich die inverse Matrix"A" mal den Spaltenvektor "B" multiplizieren um den Spaltenvektor "F" herauszubekommen.
Also in matlab dann irgendwie: F=A^-1*B
Ich hoffe jemand könnte mir da weiterhelfen. Ich kann mir vorstellen, dass es zu so etwas schon ein Thread gibt. Über einen Link mit ähnlichem Problem würde ich mich freuen.
Ich bedanke mich für jeglichen Hinweis.
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 19.05.2021, 20:03
Titel:
|
|
Hallo,
es ist sogar noch einfacher, sobald du A und B aufgestellt hast:
Zu Themen wie Erstellen von Matrizen empfehle ich das MATLAB Onramp.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Student417 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 19.05.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.05.2021, 00:26
Titel:
|
|
|
|
Student417 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 19.05.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.05.2021, 16:14
Titel:
|
|
Wenn ich das Programm ausführe und alle Parameter eingegeben habe kommt der Fehlercode:
" Error using *
Incorrect dimensions for matrix multiplication. Check that the number of columns in the first matrix
matches the number of rows in the second matrix. To perform elementwise multiplication, use '.*'.
Error in Matrix_6x6_3_GL_Zug (line 42)
F = (Matrix_A)^-1 * (Vector_B)
Related documentation"
Die Zeilen und Spaltenanzahl stimmt doch überein?
Wo ist mein Fehler?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 21.05.2021, 16:23
Titel:
|
|
Hallo,
die zahlreichen input-Befehle machen Debugging recht schwierig. Stell dir vor, du musst den Code 20 Mal ausführen. Willst du jedes Mal von neuem die Daten angeben? Ich nicht.
Zitat: |
Die Zeilen und Spaltenanzahl stimmt doch überein? |
Nein. Der Vektor muss ein Spaltenvektor sein, ist aber ein Zeilenvektor: transponieren oder ; als Trennzeichen verwenden.
Vor allem aber frage ich mich, warum du den Vorschlag \ nicht annimmst.
Die Dimensionen müssen natürlich trotzdem zusammenpassen.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Student417 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 19.05.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.05.2021, 16:44
Titel:
|
|
Harald vielen Dank für die schnelle Antwort!
Für mich ist das alles Neuland... hatte das total übersehen, dass ich einen Zeilenvektor hatte als Vector_B. Hab ihn jetzt zu einem Spaltenvektor gemacht und natürlich auch deinen Tipp übernommen:
Und leider sind die zahlreichen input-Befehle gewollt. Also die Parameter müssen für jeden Zug noch einmal separat eingegeben werden.
Ich bin mir sicher man kann das eleganter lösen, aber wie gesagt ich bin ein Anfänger...
Viele Grüße
Meris
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 21.05.2021, 16:56
Titel:
|
|
Hallo,
Zitat: |
Also die Parameter müssen für jeden Zug noch einmal separat eingegeben werden. Ich bin mir sicher man kann das eleganter lösen |
Da bin ich mir auch sicher. ;)
Wie wäre es mit einer Funktion? Die kann die Eingabeparameter ebenso gut entgegennehmen.
Oder einem Live Script mit Slidern oder Feldern für die Eingabe?
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Student417 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 19.05.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.05.2021, 16:59
Titel:
|
|
Hallo,
Jo ich beschäftige mich mal damit.
Viele Grüße
Meris
|
|
|
|
|
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 - 2024
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.
|
|