Having trouble creating a conditional function

12 vues (au cours des 30 derniers jours)
Michael Bettar
Michael Bettar le 17 Oct 2017
Commenté : Walter Roberson le 17 Oct 2017
Hi it's my first time posting here
I am trying to create a conditional function
x = -1:0.1:1;
f = x.^2.*sin(pi.*x);
So the conditions are
if f>=0
g = f
elseif f<0
g = 0
I have tried to create separate vectors containing the index that give positive respespective negative values of f and then create an if statement that looked something like this
if f == f(a)
g = f(a)
%where a is the index that give positive values
elseif f == f(b)
g = 0
end
but it doesn't seem to work at all
what am I doing wrong?

Réponses (1)

KL
KL le 17 Oct 2017
Modifié(e) : KL le 17 Oct 2017
Just use
x = -1:0.1:1;
f = x.^2.*sin(pi.*x);
and then to create g based on f
g = f;
g(g<0)=0;
  2 commentaires
Michael Bettar
Michael Bettar le 17 Oct 2017
wow I really have overcomplicated the answer
thanks for help!
Walter Roberson
Walter Roberson le 17 Oct 2017
g = max(0, f);

Connectez-vous pour commenter.

Catégories

En savoir plus sur Matrix Indexing 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