How to insert a function into a GUI

13 vues (au cours des 30 derniers jours)
Daniel Jaló
Daniel Jaló le 9 Déc 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.

Réponses (2)

Image Analyst
Image Analyst le 9 Déc 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 commentaire
Daniel Jaló
Daniel Jaló le 9 Déc 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

Connectez-vous pour commenter.


Walter Roberson
Walter Roberson le 10 Déc 2012
y = str2func(['@(x) ', TheString]);

Catégories

En savoir plus sur Environment and Settings dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by