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

Matrizen mit Variable

 

Carnot
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 14.04.14
Wohnort: Nürnberg
Version: ---
     Beitrag Verfasst am: 14.04.2014, 15:11     Titel: Matrizen mit Variable
  Antworten mit Zitat      
Hallo Leute,
ich bin neu hier und fast am verzweifeln mit einem Matlab-script.
Ich habe zwei Matrizen, welche jeweils eine Variable enthalten. Davon möchte ich zuerst das Produkt aus beiden Matrizen berechnen und danach die Matrix mit konkreten Zahlen für die Variablen berechnen.

Danach soll die Jacobimatrix aus dem Produkt der beiden Matrizen berechnet werden, um anschließend wieder die Jacobimatrix für konkrete Werte zu erhalten.

Hier ein Codebeispiel:
Code:

syms a b;
D01 = [cos(a) -sin(a) 0 0;
    sin(a) cos(a) 0 0;
    0 0 1 0;
    0 0 0 1];

D12=[cos(b) -sin(b) 0 0;
    sin(b) cos(b) 0 0;
    0 0 1 0;
    0 0 0 1];

D02=D01*D12;
%Hier möchte ich das Produkt der beiden für konkrete Werte für a und b ausrechnen. Alà: D01_s=D02(a=0.5, b=1)

J=jacobian(D02);
%Hier möchte ich das Produkt der beiden für konkrete Werte für a und b ausrechnen. Alà: J_s=jacobian(D02(a=1, b=0.5))

 


Ich habs auch schon versucht indem ich D01 folgendermaßen definiere:
Code:
D01_s=@(a)[cos(a) -sin(a) 0 0;
    sin(a) cos(a) 0 0;
    0 0 1 0;
    0 0 0 1];


Dann kann ich allerdings keine Jacobimatrix mehr davon bilden. Der eigentliche Code ist etwas komplizierter, mit mehr Matrizen und mehr Variablen aber mit dem Minimalbeispiel hier wäre mir schon immens geholfen.

Matlab kann viele Dinge so schön lösen, ich bin mir sicher mein Problem is nur ne Kleinigkeit, aber ich komm einfach nicht drauf Sad

Vielen Danke schonmal!Smile
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 14.04.2014, 16:44     Titel:
  Antworten mit Zitat      
ich bin mir nicht ganz sicher was jetzt das problem ist.
hilft
Code:
?
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Carnot
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 14.04.14
Wohnort: Nürnberg
Version: ---
     Beitrag Verfasst am: 14.04.2014, 16:49     Titel:
  Antworten mit Zitat      
Winkow hat Folgendes geschrieben:
ich bin mir nicht ganz sicher was jetzt das problem ist.
hilft
Code:
?


Komisch, du hast das Problem nämlich soeben gelöst! Very Happy Vielen Dank!
Ich wusste einfach nicht wie ich Matlab dazu bringen, die Matrix für einen bestimmten Wert der Variable zu berechnen. Danke nochmal, hat mir echt geholfen!
Private Nachricht senden Benutzer-Profile anzeigen
 
Carnot
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 14.04.14
Wohnort: Nürnberg
Version: ---
     Beitrag Verfasst am: 14.04.2014, 17:17     Titel:
  Antworten mit Zitat      
Kommando zurück! Leider führt subs() nicht zur Lösung.

Vielleicht ist mein Problem einfach zu trivial. Eigentlich möchte ich nur wissen wie ich konkrete Werte für eine Funktion ausrechnen kann. Also:
Code:
syms x y;
f(x,y)=x^2+y^2;

%Ich möchte jetzt das Ergebnis f(x=1,  y=1)
%raus kommen müsste ja 2
 

Nur das meine Funktion einen Matrix ist und nicht nur zwei Variablen hat sondern mehrere.
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 14.04.2014, 18:29     Titel:
  Antworten mit Zitat      
es ist immer sinvoll anzugeben was du machst. ich kann deine fehler nur schwer finden wenn du fehlermeldungen nicht mit angiebst . das ist immer sehr umständlich.
bei mir geht subs ohne probleme:
Code:
syms x y;
f(x,y)=x^2+y^2;
subs (f,[x,y],[1,1])

auch die version mit anonymer funktion geht ohne probleme.
Code:
f=@(x,y) x.^2+y.^2
f(1,1)

_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Carnot
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 14.04.14
Wohnort: Nürnberg
Version: ---
     Beitrag Verfasst am: 15.04.2014, 18:06     Titel:
  Antworten mit Zitat      
Ok es hat doch funktioniert. Ich hab allerdings irgendwo mal der eigentlich symbolischen Variable einen Wert zugewisen. Sprich:
Code:


Danke für deine Hilfe Winkow! Ohne dich hätte ich vermutlich ewig dafür gebraucht Wink
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.