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

Produktbildung

 

ITSE
Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 16.08.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.01.2011, 16:14     Titel: Produktbildung
  Antworten mit Zitat      
HI

ich habe folgendes Problem.
Ich soll eine Optimierung Programmieren welche auf LMIs basiert. Dazu muss ich eine Matrix nach folgender Vorschrift bestimmen:

________k-1
P(l,k)=Produktsymbol [(l-q)I + M]
________q=0

P ist die zu füllende (nxn)-Matrix. Demnach sind l = k = n
I = Einheitsmatrix.
M ist eine gegebene Diagonalmatrix.

Ansatz von mir:
Code:
M = diag(0:n-1)
P = zeros(n,n)
for l=1:n
    for k=1:n
        P(l,k)= HIER fehlt mir der Befehl für das Produktsymbol
    end;
end;


Kann mir jemand helfen wie dieser Befehl für das Produktsymbol lautet?

Liebe Grüße
Thomas
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 28.01.2011, 16:31     Titel:
  Antworten mit Zitat      
Hallo,

prod.
Da allerdings die Produkte für verschiedene k recht ähnlich aufgebaut sind und anscheinend immer nur ein weiterer Faktor hinzukommt, empfehle ich cumprod (und nur eine Schleife für l). Achtung bei der Umsetzung der Formel: in MATLAB fängt die Indizierung bei 1 an.

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 ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
ITSE
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 16.08.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.01.2011, 12:56     Titel:
  Antworten mit Zitat      
Hi Harald,

danke dir für den Tip. Stell ich mir dann das ganze ungefähr so vor?

Code:
for l=1:n
    for k=1:n
        q=k-1
        P(l,k) = cumprod((l-q)*I+M)
    end
end  


GRuß Thomas
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.01.2011, 15:13     Titel:
  Antworten mit Zitat      
Hallo,

sorry, ich bemerke gerade einen Fehler meinerseits. cumprod und prod arbeiten elementweise bzw. entlang einer Dimension, machen aber keine Matrixmultiplikation (und ich nehme an, das hier soll eine werden).

Code:
P = cell(n, n);
for l=1:n
P{l, 1} = l * I + M;
    for k=2:n
        P{l, k} = P{l, k-1} * ( (l-(k-1)) * I + M);
    end
end


Dann fällt aber auf, dass es sich ja ausschließlich um Diagonalmatrizen handelt. Da sollte man das effizienter machen können, wenn man nur mit den Diagonalvektoren arbeitet.

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 ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
ITSE
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 16.08.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.02.2011, 12:17     Titel:
  Antworten mit Zitat      
HI Harald,

super danke dir. Warst mir eine große Hilfe.
Habe das nun so programmiert und es läuft.

Danke dir
Thomas
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 - 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.