How to input equations in MATLAB and operate it?
22 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Raihan Khalil
il 1 Gen 2016
Commentato: Walter Roberson
il 23 Giu 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 Commenti
Risposta accettata
Walter Roberson
il 1 Gen 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 Commenti
Walter Roberson
il 1 Gen 2016
func = input('Enter a function: ','s');
f = sym(func);
diff(f,x)
Più risposte (2)
Jonathan Moussa NDAO
il 17 Mag 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 Commenti
Vedere anche
Categorie
Scopri di più su Function Creation in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!