Filter löschen
Filter löschen

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

15 Ansichten (letzte 30 Tage)
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

Akzeptierte Antwort

Honglei Chen
Honglei Chen am 12 Mär. 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;

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 12 Mär. 2012
y = max(0, y);

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by