How to input equations in MATLAB and operate it?
47 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Raihan Khalil
el 1 de En. de 2016
Comentada: Walter Roberson
el 23 de Jun. de 2022
I'm using MATLAB R2013a. I want to input an equation in Matlab like f(x) = x^2 - 2*x + 3. And I want it to be inputted by the user. I use inline() function for this. eg.
func = input('Enter a function: ','s');
f = inline(func);
And I have able to do some works with it. But I want to differentiate this equation. I was trying to use diff() function for this. But it doesn't work. When I use diff(f,x); it shows error. How can I solve my problem?
0 comentarios
Respuesta aceptada
Walter Roberson
el 1 de En. de 2016
You should not use inline(). inline() has been recommended against since MATLAB 5.1, over a decade ago. inline() was replaced with anonymous functions, which can be built using str2func()
You cannot differentiate inline functions or anonymous functions. You can parse the string, and develop a set of routines to differentiate whatever set of input functions you allow. Or you can use the Symbolic Toolbox. For example,
f = sym('x^2 - 2*x + 3')
diff(f,x)
3 comentarios
Walter Roberson
el 1 de En. de 2016
func = input('Enter a function: ','s');
f = sym(func);
diff(f,x)
Más respuestas (2)
Jonathan Moussa NDAO
el 17 de Mayo de 2021
You can try using the matlab builtin func str2func that convert your input in a matlab function handler like syntax('
')

func = str2func(input("Enter the function, e.g @(x)2*x - 3: ", "s"));
0 comentarios
Ver también
Categorías
Más información sobre Function Creation en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!