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

Numerische Ableitung - Vorwärts genommene Differenz

 

Arina019
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 07.04.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.04.2017, 21:44     Titel: Numerische Ableitung - Vorwärts genommene Differenz
  Antworten mit Zitat      
Hallo liebe Community,
ich habe ein Problem bei einer Aufgabe und hoffe auf eure Hilfe.

Ich soll über eine vorwärts genommene Differenz Näherungen für die Funktion f(x) = e^0.5*x*sin(x) an der Stelle x = 23 bestimmen. Dazu soll ich für h = von 0.1 in Zehnerschritten bis zu 10^-15 verwenden.

Eine weitere Frage lautet "Wie verhält sich der Fehler (Differenz zwischen numerischer und exakter Ableitung), wenn man von einem h zu h/10 geht? Welches h ist optimal?"

Könnt ihr mir vielleicht helfen und sagen wie ich das in Matlab lösen kann?

Bisher habe ich lediglich folgendes, mit Fehlermeldung behaftet, zustande bekommen:
Code:
% Die Funktion

function [ y ] = vordiff(f, x, h)

y = (f(x+h)-f(x))/h;

end

% Das Matlab Script

clear all;
x = 23;
f = exp(0.5*x).*sin(x);
h = 10^-15:10:0.1;
y = vdq(f,x,h)
 


Ich wäre euch für jegliche Hilfe sehr dankbar.
Mit freundlichen Grüßen Arina
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.502
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.04.2017, 22:18     Titel:
  Antworten mit Zitat      
Hallo,

bitte immer angeben, welchen Fehler du bekommst.

Ein paar Fehler, die ich auf Anhieb sehe:
* h ist so nicht sinnvoll. Eher h = 10.^(-1:-1:-15) `
* f sollte ein Function Handle sein, da du ja die Stelle der Auswertung variieren willst --> f = @(x) ...
* Wenn Vektoren durcheinander geteilt werden, sollte man / durch ./ verwenden.

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

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 07.04.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.04.2017, 09:57     Titel:
  Antworten mit Zitat      
Dankeschön schonmal, aber ich bekomme wieder folgende Fehlermeldung:

Subscript indices must either be real positive integers or logicals.

Und was genau meintest du mit der "Function Handle f = @(x)" ? Muss ehrlich sagen ich bin nicht gut in Matlab, brauche diese Aufgabe aber für die Uni.

Liebe Grüße,
Arina
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.502
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 09.04.2017, 07:51     Titel:
  Antworten mit Zitat      
Hallo,

mehr zu Function Handles:
https://www.mathworks.com/help/matl...../anonymous-functions.html

Solange du das nicht umsetzt, wirst du weiter die Fehlermeldung bekommen.

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.