|
|
Funktion an Funktion übergeben |
|
tutonga |

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 17.10.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.10.2016, 21:47
Titel: Funktion an Funktion übergeben
|
 |
Hallo zusammen,
ich habe folgende Aufgabe:
Zitat: |
Schreiben Sie eine Funktion, die die folgende Argumente akzeptiert (Reihenfolge bitte beibehalten): reelle Zahlen a,b, eine ganze Zahl N, eine Funktion
f: [a,b] --> IR
und ein String regel. Je nachdem welchen Wert regel hat, soll das Integral über f
mit der Rechtecksregel, der Trapezregel oder der Simpsonregel approximiert werden.
N soll dabei die Anzahl der Teilintervallen entsprechen. |
Dabei ist das eigentliche Berechnen des Integrals nicht das Problem, wenn ich in meiner Funktion eine Funktion wie exp(x) benutze.
Aber ich soll an meiner Funktion ja eine Funktion übergeben. Wie geht das?
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 17.10.2016, 23:07
Titel:
|
 |
|
|
tutonga |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 17.10.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.10.2016, 09:13
Titel:
|
 |
Ich muss sagen function handle überfordert mich gerade, ich kann schon keinen String übergeben.
Aktuell sieht das ganze so aus:
Dabei ist f1 einfache eine normale Funktion, die in einem anderen *.m-File liegt, damit das Programm überhaupt lauffähig wird. Aber wie kann ich strings als Argumente übergeben? Kannst du mir ein Beispiel geben für function handle, damit ich eine Funktion übergeben kann?
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 18.10.2016, 10:33
Titel:
|
 |
Hallo tutonga,
Also einfach Dein "f1" durch fcn austauschen, welcher als 1. Input übergeben wird. Aufgerufen wird dies dann so:
Um den FunctionHandle zu erzeugen, musst Du also nur "@" vor den Funktionsnamen schreiben.
Statt "regl = trapez" benötigst Du einen String-Vergleich. Dazu gehört 'trapez' in Quotes. Den Vergleich bekommst Du entweder mit
switch
(siehe
doc switch
) oder per:
Gruß, Jan
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|