Effacer les filtres
Effacer les filtres

Help!!!!!!!! How to replace all the negative values in an array with zeros?

15 vues (au cours des 30 derniers jours)
Rooy
Rooy le 12 Mar 2012
Would anyone know how to use the vectorization method for this question? I did it the loop method but I would also need to do it for vectorization method, any ideas?
y(t) =sin(t) for all t where sint>0
elsewhere
y(t)=0
for -6 π ≤ t ≤ 6 π at intervals of π/10. Use vectorization to solve it.
This is how I did it with loops
%Inilization
aa=1;
ii=0;
t=0;
%Running the function for each -6pi to 6pi with an interval of pi/10
for t=input('input vector t:')
if sin(t)>0
y(aa)=sin(t);
else
y(aa)=0;
end
aa=aa+1;
ii=ii+1;
end
% Displaying the value for each count
t=-6*pi:pi/10:6*pi;
a=1:ii;
table=[a' y' t'];
How would I change the negative values in vector y to zero using vectorization in a way?
Thank you

Réponse acceptée

Honglei Chen
Honglei Chen le 12 Mar 2012
Did you delete your original question? I answered this several days ago. Please do not delete your question. Instead, if the answer is not what you want, update your question or add comments.
For this question, you can use logical index
t = (-6:0.1:6)*pi;
y = sin(t);
y(y<0) = 0;
  1 commentaire
Rooy
Rooy le 12 Mar 2012
Thank you for all the help and sorry I deleted the old question. Thanks

Connectez-vous pour commenter.

Plus de réponses (1)

Walter Roberson
Walter Roberson le 12 Mar 2012
y = max(0, y);

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