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

Symbolic Toolbox - Ableitungen auswerten

 

nbt
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 28.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.10.2013, 17:05     Titel: Symbolic Toolbox - Ableitungen auswerten
  Antworten mit Zitat      
Hallo!
ich hab mehrere Ableitungen in symbolischer Form, die ich an einem bestimmten Punkt auswerten möchte.
Zum Beispiel ist die Ableitung von f nach x (wobei x ein Vektor aus k und a ist):
Code:
fx=
[ DELTA - ALFA*a*k^(ALFA - 1) - 1, -k^ALFA]
[                               0,                            0]
[                               0,                   -RHO/a]
 

eine Ableitung. Hab im Workspace dann den Parameter (DELTA, ALFA, RHO) und den Variablen (k,a) einen Wert gegeben.
Der Code mit dem ich arbeite (nicht von mir) werte jede dieser Ableitung aus mit
Code:

nfx = zeros(size(fx));
nfx(:) = eval(fx(:));
 

Allerdings kommt von Matlab die Fehlermeldung:
Code:

The following error occurred converting from sym to double:
Error using mupadmex
Error in MuPAD command: DOUBLE cannot convert the input expression into a
double array.

If the input expression contains a symbolic variable, use the VPA function
instead.
 


Hab schon google befragt, aber so richtig verstanden hab ich das Problem nicht.
Ich muss dazu sagen dass ich
Code:

nfx = zeros(size(fx));
nfx(:) = vpa(fx(:));
 

auch schon ausprobiert hab, aber es kommt derselbe fehler.
Danke für die Hilfe!
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.10.2013, 17:23     Titel:
  Antworten mit Zitat      
Hallo,

das Problem sollte sich mit subs lösen lassen:

Code:
syms DELTA ALFA a k RHO
fx= [ DELTA - ALFA*a*k^(ALFA - 1) - 1, -k^ALFA;
                               0,                            0;
                              0,                   -RHO/a];
nfx = subs(fx, {DELTA ALFA a k RHO}, {1, 2, 3, 4, 5})


Besteht die Möglichkeit, dass der Original-Code in einer anderen, viel älteren MATLAB-Version geschrieben wurde? Das würde die Probleme erklären.

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

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 28.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.10.2013, 18:53     Titel:
  Antworten mit Zitat      
Ah vielen Dank für die schnelle Antwort. subs funktioniert prima.
Ja der code wurde 2004 veröffentlicht.
lg,
nbt
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.