How to convert a string to a function?
14 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Todd Wilson
am 12 Okt. 2017
Bearbeitet: Cedric
am 12 Okt. 2017
Hello. How would you convert a string to a function? For example: function [y] = equation(x,exp_or_sin) if x=1 and under function I have a statement such as y = exp_or_sin(x), this is wrong I know. and when using the function equation(1,"exp"). Here, I am trying to say that any function such as "exp" or "sin" can be converted to sin(x) or exp(x) and have an equation like exp(x) and when x=1, y would be y=exp(1).
0 Kommentare
Akzeptierte Antwort
Cedric
am 12 Okt. 2017
Bearbeitet: Cedric
am 12 Okt. 2017
doc str2func
but unless you know what you are doing (or you are just playing to see how that works), approaches that rely on converting a string to a function are often flawed (*).
Anyhow, note that you could allow users to pass a function handle instead of a string or char variable:
function plot_on_01( func )
x = 0 : 0.1 : 1 ;
plot( x, func(x) ) ;
grid on ;
end
can be called as follows:
plot_on_01( @sin )
plot_on_01( @cos )
plot_on_01( @sqrt )
plot_on_01( @exp )
plot_on_01( @(x)log10(1+x) )
Note (*): I am using STR2FUNC for example when I am building test suites for large projects, but otherwise it is very rare.
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Tables finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!