I can't use int for functions
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I use Matlab R2016a. I write a function but I can't use int to get integrate:
function y=g1(x)
if x>0
y=1;
else
y=-1;
end
end
and when I run :" int(g1) " I receive this error :
int(g1)
Not enough input arguments.
Error in g1 (line 2)
if x>0
what should I do. please help step by step because I am beginner.
1 commentaire
Réponses (1)
Star Strider
le 29 Jan 2017
Modifié(e) : Star Strider
le 29 Jan 2017
Your ‘g1’ is a function, so you have to pass it the argument you wrote it to evaluate. The integral function does this implicitly (so you do not actually see it).
I would use the integral function, not the Symbolic Math Toolbox int function (unless you have to do this symbolically):
g1 = @(x) (x>0).*(1) + (x<=0).*(-1);
a = -pi;
b = pi;
Result = integral(g1, a, b);
I used ‘logical indexing’ to define ‘g1’ here. It is more efficient.
0 commentaires
Voir également
Catégories
En savoir plus sur Symbolic Math Toolbox 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!