How do you make a program read a function for a script and creating a function?
Mostrar comentarios más antiguos

I am very new to matlab. So sorry if I am a noob at programming simple things like this. What I am trying to do is, insert a vector and if the vector is a negative number turn it into a 0 and keep the rest of the positive number the same. so for this code it should pop out [12 0 4 0] but all I get is 12.
2 comentarios
Kenny Dang
el 28 de En. de 2017
Jan
el 28 de En. de 2017
@Kenny: Please post the code as text in following questions. Screenshots do not allow to copy&paste. Thanks.
Respuesta aceptada
Más respuestas (2)
Image Analyst
el 28 de En. de 2017
Get rid of lines 2-13 and have this:
x(x<0) = 0;
2 comentarios
Kenny Dang
el 28 de En. de 2017
Image Analyst
el 28 de En. de 2017
And you forgot to tag it as homework. I've done that for you. Get rid of lines 3 and 4 and make line 5 like Jan has. You might also initialize y before the loop
y = x;
and change lines 6-11 to this
if y(i) < 0
y(i) = 0
end
You certainly don't want line 8 in there - why return from your function while you're looping????
Guillaume
el 28 de En. de 2017
Your code is very puzzling. You have for loop using i that does nothing:
for i = 1:j
end %there's nothing in the body of the loop!
At the end of this loop, i is equal to j (what meaningless variable names!). Then you have an n loop that goes from 1 to the value of x(i), which has established is x(j), and thus -5. Hence that loop will not even execute. Even if it did start, there's nothing in the loop that depends on n.
I really don't understand what you were trying to do with these loop. In any case, no loop is needed:
x = [12 -3 4 -5];
y = x;
y(y<0) = 0
Categorías
Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!