How to insert a function into a GUI

13 Ansichten (letzte 30 Tage)
Daniel Jaló
Daniel Jaló am 9 Dez. 2012
Hi.
I'm making a simple GUI which receives functions and do operations on them. It is complete, however to change the function I need to modify the code and change the function.
Is there anyway to insert a funcion into a GUI as a string and converting it into a function?
e.g: the user inserts x.^2+x
The code receives it as string and converts it to a variable so that
y = x.^2 + x (the x will be defined beforehand)
Thanks in advance. I hope I've expressed my doubt clearly enough. Daniel.

Antworten (2)

Image Analyst
Image Analyst am 9 Dez. 2012
Yes, just go ahead and enter it in any place that is not another function. For example at the very end of your code, add this
function y = MyPolynomial(polynomialString, x)
coefficients = ParseString(polynomialString)
y = coefficients(1) * x^2 + coefficients(2) * x + coefficients(3);
function coefficients = ParseString(polynomialString)
equalsLocations = findstr(polynomialString, '=');
plusLocations = findstr(polynomialString, '+');
minusLocations = findstr(polynomialString, '-');
% etc. You do the rest.
  1 Kommentar
Daniel Jaló
Daniel Jaló am 9 Dez. 2012
Thanks for the answer, but that won't allow me to insert any function at will, only a second degree polinomial function. I gave the function as an example, my objective is to be able to convert any function I insert.
Thanks. Daniel

Melden Sie sich an, um zu kommentieren.


Walter Roberson
Walter Roberson am 10 Dez. 2012
y = str2func(['@(x) ', TheString]);

Kategorien

Mehr zu Environment and Settings 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!

Translated by