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 Math Toolbox - Probleme mit subs

 

flix_r
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 02.10.13
Wohnort: ---
Version: R2013B (8.2.0.701) - win64
     Beitrag Verfasst am: 02.10.2013, 14:18     Titel: Symbolic Math Toolbox - Probleme mit subs
  Antworten mit Zitat      
Hallo Zusammen,

ich habe ein Problem beim Ersetzen von symbolischen Ausdrücken durch numerische.
Wenn ich in einer symbolische Funktion das symbolische Argument mithilfe von 'subs' durch ein numerisches substituiere sollte doch am Ende eine numerische Funktion rauskommen oder liege ich da falsch?

Hier mal ein Minimalbeispiel zur Verdeutlichung:

Code:

>> syms f(x);

>> f(x)=sin(x);

>> t=2;

>> F = subs (f,x,t)
F(x) =
sin(2)

>> whos
  Name      Size            Bytes  Class     Attributes

  F         1x1               112  symfun              
  f         1x1               112  symfun              
  t         1x1                 8  double              
  x         1x1               112  sym  
 


Was mache ich falsch, dass F nicht vom Typ 'double' ist?
Also dass rauskommt F(t)=0.9093 ist?

Vielen Dank für die Hilfe
Private Nachricht senden Benutzer-Profile anzeigen


Sp0b1e
Forum-Anfänger

Forum-Anfänger



Beiträge: 26
Anmeldedatum: 26.09.13
Wohnort: ---
Version: 2011a und 2013a
     Beitrag Verfasst am: 02.10.2013, 17:00     Titel:
  Antworten mit Zitat      
Hallo flix_r,

wenn es nicht unbedingt der "subs"-Befehl zum Ersetzen der Variablen sein muss, kannst du auch alternativ den "inline"-Befehl nehmen und eine Inline-Funktion aus deinem Ausdruck machen.

Code:


>> syms x
>> f=sin(x)
f =
sin(x)
>> F=inline(f)
F =
     Inline function:
     F(x) = sin(x)
>> t=2
t =
     2
>> F(2)
ans =
    0.9093

 
Private Nachricht senden Benutzer-Profile anzeigen
 
flix_r
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 02.10.13
Wohnort: ---
Version: R2013B (8.2.0.701) - win64
     Beitrag Verfasst am: 02.10.2013, 17:25     Titel:
  Antworten mit Zitat      
Vielen Dank Sp0b1e für den Hinweis. Ich denke mit inline-Funktionen komm ich auch relativ weit.

Aber nochmal zum Verständis:
Habe ich die Funktionsweise von 'subs' falsch verstanden oder läuft irgendetwas nicht so wie es sollte?

Grüße
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: 02.10.2013, 19:48     Titel:
  Antworten mit Zitat      
Hallo,

mit
Code:

solltest du das gewünschte Ergebnis bekommen.

Ich habe gerade R2012b offen, und bei mir funktioniert folgendes wie von dir gewünscht:
Code:
syms f(x);
f=sin(x);
t=2;
F = subs (f,x,t)


Grüße,
Harald
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.