Funktionen aus einer Cell
zyx
Forum-Fortgeschrittener
Beiträge: 80
Anmeldedatum: 10.04.18
Wohnort: ---
Version: ---
Verfasst am : 29.06.2018, 12:40
Titel : Funktionen aus einer Cell
Hallo an alle,
Ich habe vier anonyme Funktionen, die ich als cell gespeichert habe.
Nun möchte ich in einer Schleife das Integral auswerten:
Code:
U_0 = 230 * sqrt ( 2 ) ;
f = 50 ;
T = 1 /f;
t = linspace ( -1 ,1 ,20 ) ;
f_sin = @( t) U_0 * sin ( 2 *pi *f.*t ) ;
f_abssin = @( t) abs ( U_0 * sin ( 2 *pi *f.*t ) ) ;
f_square = @( t) sign ( U_0 * sin ( 2 *pi *f.*t ) ) ;
f_saw = @( t) mod ( t,T) ;
fcn_c = { @( t) f_sin( t) , @( t) f_abssin( t) , @( t) f_square( t) , @( t) f_saw} ;
for n = 1 :4
fc = fcn_c{ n} ;
emean = sqrt ( ( 1 /T) .* integral ( fc,0 ,T) ) ;
amean = ( 1 /T) .* integral ( fc,0 ,T) ;
end
Leider komme ich nicht dahinter, wie man die Funktionen richtig aufruft.
Außerdem sollte bei emean das Quadrat der Funktion berechnet werden.
Also fcn_c{n}(fcn_c{n}) ?
Vielen Dank für eure Hilfe!
Harald
Forum-Meister
Beiträge: 24.497
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
Verfasst am : 29.06.2018, 15:07
Titel :
Hallo,
was passiert denn, wenn du es so versuchst?
Auf den ersten Blick sehe ich das Problem, dass du die Ergebnisse überschreibst. Besser:
Grüße,
Harald
zyx
Themenstarter
Forum-Fortgeschrittener
Beiträge: 80
Anmeldedatum: 10.04.18
Wohnort: ---
Version: ---
Verfasst am : 29.06.2018, 15:35
Titel :
Hallo Harald,
Danke für deine Antwort! Hast natürlich Recht! Ich habe ja auch 4 Ergebnisse.
Die Fehlermeldung lautet:
Error using integralcalc
Input function must return double or single values. Found function handle.
Die Funktionen lassen sich allerdings ganz normal berechnen. Auch das Aufrufen funktioniert.
Habe auch schon:
oder
versucht.
Kann es sein dass ich bei der Definition der Funktionen etwas anders machen muss?
Danke für die Hilfe!
Harald
Forum-Meister
Beiträge: 24.497
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
Verfasst am : 29.06.2018, 16:00
Titel :
Hallo,
mal den Debugger versucht?
Gibt es einen Grund, warum die letzte Funktion anders definiert ist als die vorherigen? Sinnvoller wäre
was im übrigen dasselbe ist wie
Grüße,
Harald
zyx
Themenstarter
Forum-Fortgeschrittener
Beiträge: 80
Anmeldedatum: 10.04.18
Wohnort: ---
Version: ---
Verfasst am : 30.06.2018, 12:39
Titel :
Hallo Harald,
vielen Dank! Jetzt funktioniert es.
Grüße.
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.