How to take function as input from textbox?

4 次查看(过去 30 天)
how can I take a function such as sin(x) or exp(x) as an input from the textbox in MATLAB gui?
t = get(handles.input,'string')
c = conv (t,t)
plot(c)
I have tried this but it does not work.
I want to convolve the signal but I can't figure out how to take input as a function
  4 个评论
Mehmed Saad
Mehmed Saad 2020-5-6
and do you have x or user have to enter it? is it necessary to use text box (you can use dropdown)?
Saad Rana
Saad Rana 2020-5-6
yes I have a user to enter it and the textbox is necessary

请先登录,再进行评论。

回答(1 个)

Mehmed Saad
Mehmed Saad 2020-5-6
You can use any one of the following
  1. eval
  2. feval
  3. str2func
For example
The string user enters in text box is
s = 'sin(x)';
eval will evaluate the string assuming that x is variable inside your function workspace in which you are evaluation eval
eval(s)
For feval and str2func user must enter the function name and not the argument
s = 'sin'
feval(s,x)
or
s = 'sin';
f = str2func(s);
f(x)

类别

Help CenterFile Exchange 中查找有关 Desktop 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by