WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Lineares Gleichungssystem mit vielen Unbekannten lösen

 

Lockyy
Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 26.11.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.01.2016, 20:15     Titel: Lineares Gleichungssystem mit vielen Unbekannten lösen
  Antworten mit Zitat      
Hey Leute, irgendwie komme ich gerade nicht weiter.
Ich habe eine Simulation, bei der ich Anfangsparameter und Endparameter habe bzw. mir erzeugen lassen kann.

Der lineare Zusammenhang ist dabei jeweils:

\begin{pmatrix} a_1 \\ a_2 \\ a_3\\a_4 \end{pmatrix}  =  \begin{pmatrix} x11 & x12 & x13 & x14 \\ x21 & x22 & x23 & x24 \\ x31 & x32 & x33 & x34 \\x41 & x42 & x43 & x44 \end{pmatrix}  \cdot  \begin{pmatrix} e_1 \\ e_2 \\ e_3 \\e_4 \end{pmatrix}

Das ist hier jedoch die einfachste Version. Könnten auch z.B. 8 Es und damit 32 xs sein. Oder generell mehr Zeilen.

Die von den As kann ich mir durch Eingabe der Es beliebig viele erzeugen lassen. Die x-Werte werden gesucht. Das System ist also bestimmt bzw. überbestimmt.
Gibt es da eine schicke Möglichkeit, das möglichst einfach zu berechnen. Ich habe schon einiges rumgestöbert aber finde gerade keine Lösung.
Der Backslash-Operator kann ja nur Spaltenvektoren ausspucken und keine (im einfachsten Fall) 4x4 Matrix.

Ein kleiner Denkanstoß wäre super.
Liebe Grüße, Lockyy
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 05.01.2016, 20:29     Titel:
  Antworten mit Zitat      
Hallo,

durch geeignete Umformulierung kannst du das als Gleichungssystem mit einem Vektor X darstellen, der die 16 oder wieviele auch immer Elemente x_11 bis x_44 enthält, und dann das Gleichungssystem mit \ lösen.
Häufig hat man in solchen Fällen auch Nebenbedingungen, dann hilft lsqlin .

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Lockyy
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 26.11.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.01.2016, 21:22     Titel:
  Antworten mit Zitat      
Mmmmh, mit scheint, da scheitere ich gerade eher an der Mathematik als an Matlab.
Weißt du da zufällig ein geeignetes Verfahren? Wie gesagt kann die gesuchte Matrix unter Umständen noch deutlich größer sein...
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 05.01.2016, 21:41     Titel:
  Antworten mit Zitat      
Hallo,

du musst dir ja nur überlegen, wie die Matrix für das Gleichungssystem aufzustellen ist.

\begin{pmatrix} a_1 \\ a_2 \\ a_3\\a_4 \end{pmatrix} = \begin{pmatrix} 
<br />
e_1 & e_2 & e_3 & e_4 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 
<br />
0 & 0 & 0 & 0 & e_1 & e_2 & e_3 & e_4 &  0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
<br />
0 & 0 & 0 & 0 &  0 & 0 & 0 & 0 & e_1 & e_2 & e_3 & e_4  & 0 & 0 & 0 & 0 \\ 
<br />
0 & 0 & 0 & 0 &  0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & e_1 & e_2 & e_3 & e_4  \end{pmatrix} \cdot \begin{pmatrix} x_{11} \\ x_{12} \\ | \\x_{44} \end{pmatrix}

Das dürfte sich auch für größere Matrizen mit überschaubarem Aufwand in einer for-Schleife machen lassen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Lockyy
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 26.11.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.01.2016, 11:44     Titel:
  Antworten mit Zitat      
Ok, ich habe mir das ganze heute noch mal angeschaut und in einem ersten (manuell eingetipptem) Test hat alles soweit funktioniert. Jetzt muss ich das nur noch automatisieren und so aber das sollte machbar sein.

Vielen Dank!
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.