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

verschiedenen Ableitungsfunktionen bestimmte Werte zuordnen?

 

Samil
Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 20.08.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.10.2013, 18:29     Titel: verschiedenen Ableitungsfunktionen bestimmte Werte zuordnen?
  Antworten mit Zitat      
Hallo Leute,

im folgenden Code habe ich die Ableitungsfunktionen bestimmt.
Der Paramter xx ist in einem vorherigen Code berechnet worden.

Code:

syms t
gpp10 = [];
for z = 1:6
    g10 = xx(z,37)*t.^3 + xx(z,38)*t.^2 + xx(z,39)*t + xx(z,40);    
    gp10 = diff(g10);
   
    gpp10 = [gpp10;gp10];
   
    g10 =[];
    gp10=[];  
end
 


Somit erhalte ich genau 6 Ableitungsfunktionen.

Nun möchte ich in der ersten Ableitungsfunktion z.B. für t den Wert 3, der zweiten Ableitungsfunktion den Wert 4, in der dritten den Wert 5 usw. zuweisen.

Für die erste Ableitungsfunktion habe ich zunächst folgendes versucht, klappt aber leider nicht.


Code:

t =3;
gpp10(1)

 


Wie könnte ich den obigen Code erstellen bzw. ergänzen?

Danke für jegliche Antwort im Voraus.

Grüße
Samil
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: 25.10.2013, 22:18     Titel:
  Antworten mit Zitat      
Hallo,

"zuweisen" im Sinne von "einsetzen"? Dann hilft subs.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 20.08.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.10.2013, 17:04     Titel:
  Antworten mit Zitat      
Danke für deinen Tipp,

Grüße
Samil
Private Nachricht senden Benutzer-Profile anzeigen
 
Samil
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 20.08.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.10.2013, 17:14     Titel:
  Antworten mit Zitat      
ich hätte noch eine frage zum obigen Code.

Ich erhalte im obigen Code 6 verschiedene Funktionen, von denen ich später die Nullstellen bestimmten möchte.

In der Hilfe habe ich mal einiges erfahren.

Habe folgendes:

Code:

function ggg= f_ueb(t)
ggg=(1107230800273577*t)/562949953421312 - (26523215740952679*t^2)/2305843009213693952 - 2668729061099013/35184372088832

end

% fun = @f_ueb; % function
% t0 = 3; % initial point
% t= [3 10];
% t = fzero(fun,t0)

 


ggg ist eine von den 6 gpp10 Funktionen, die ich per Hand eingegeben habe.

Ich möchte jedoch dies automatisieren, nur weis ich nicht wie ich diese in meiner function ggg erstelle.

Danke Wink
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: 28.10.2013, 17:56     Titel:
  Antworten mit Zitat      
Hallo,

mit matlabFunction kannst du aus einem symbolischen Ausdruck ein Function Handle machen. Ist es das, was du brauchst?

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 20.08.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.10.2013, 18:49     Titel:
  Antworten mit Zitat      
Hi Harald,

Ich habe in der "Hilfe fzero" gelesen, dass ich erstmal für die Bestimmung der Nullstellen eine function erstellen muss.
Und anschließend mit den auskommentiertem Code die Nullstellen finde.

Das Problem besteht darin, die Nullstellen für mehrere Funktionen (,die durch eine for-schleife erstellt wurden) zu bestimmen.

Es könnte sein, dass function handle hierbei helfen könnte, jedoch habe ich dies auch nicht wirklich verstanden. was kann man mit diesem befehl anfangen? habe auch die kommentare im forum gelesen Confused
Private Nachricht senden Benutzer-Profile anzeigen
 
Samil
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 20.08.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.10.2013, 19:32     Titel:
  Antworten mit Zitat      
also ich definiere mal die neue matlabfunction:

Code:

function gpp10= f_ueb(t,xx)

syms t
gpp10 = [];
for z = 1:6
    g10 = xx(z,37)*t.^3 + xx(z,38)*t.^2 + xx(z,39)*t + xx(z,40);
    gp10 = diff(g10);

    gpp10 = [gpp10;gp10]
    g10 =[];
    gp10=[];  

end

end
 


dann müsste ich doch im Command Window nur diese Codes eingeben:

Code:

h=@f_ueb;
t0 = 3;
t= [3 10];
t = fzero(fun,t0)
 


Habe ich evtl in meiner matlabfunction einen Fehler?
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: 28.10.2013, 20:45     Titel:
  Antworten mit Zitat      
Hallo,

fzero ist ein numerisches Verfahren, deine Funktion ist aber symbolisch. Das passt nicht zusammen.

Statt fzero könntest du hier solve verwenden. Sofern die xx nicht von t abhängig sind, sollte das unproblematisch sein.

Wenn du numerisch arbeiten willst, musst du die symbolische Funktion zunächst mit dem Befehl matlabFunction in ein (numerisches) Function Handle umwandeln.

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 - 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.