get a input function in GUI

if i input a function,eg.t^2, in the edit,how could i get the function in the M file? and when i type f=fourier(sin(t))*fourier(cos(t)) in the command window, it will show error "??? Undefined function or variable 't'.", how to solve this problem? Thank you~~~

Answers (2)

a=get(handles.text1,'String'); %get the string from the textbox,example %a='t^2';
b=vectorize(a); %put dots before operations ^ / *
c=inline(b); %create one inline function from the string
t=0:0.1:10; %create a time vector, starts in t=0, step 0.1 seconds, ends t=10 s
c(t); %evaluate your function at each time vector point
For the fourier problem, t should be defined like a symbolic variable before the function being called
syms t

2 Comments

I've tried your answer, but I've get some errors.
??? Error using ==> sym.sym>tomupad at 2209
Conversion to 'sym' from 'inline' is not possible.
Error in ==> sym.sym>sym.sym at 111
S.s = tomupad(x,'');
Error in ==> subs at 64
r_unique_name = subs(sym(f_unique_name),varargin{:});
I'm also trying to input a function in an edit text from the GUI.
Thank you for your help.
I tried your answer to introduce functions, and it worked, thank you

Sign in to comment.

Olaitan Ibrahim
Olaitan Ibrahim on 27 Jul 2018
Hello, pls I'm trying to use a get method in my gui program but I don't want all my inputs to remain in the edit box. Guys please help me out.

Asked:

on 16 Apr 2011

Commented:

on 27 Jul 2018

Community Treasure Hunt

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

Start Hunting!