for loops and if statements

I have a set of questions based on a task. Basically one of the questions ask to write a function that counts the number of values that have a greater value of 100 and above, in one of the specfic coloumns of a matrix (provided that you input a matrix).
can i double check this code and if so, is there anything i can do to fix the errors i get when i input a matrix, since its not working when i run. Any tips and advice thank you in advance.
function numbers = PARTAQ1(material)
[m n] = size(material)
index = material(:,1);
ys = material(:,2); %the specfic coloumn of intrest
uts = material(:,3);
ym = material(:,4);
cost = material(:,5);
for i = 1:n
if ys >= 100
numbers = sum(ys >= 100);
disp(numbers);
else
disp(0)
end
end

Answers (1)

if ys >= 100
ys is a vector. When you compare a vector to a value, the result is a logical vector of results. When you have that inside an if test, if is only considered true if all of the entries are non-zero (true). So if at least one entry inside ys is less than 100, then the test would not succeed.
Question: Why are you testing the same thing every iteration of i?

6 Comments

okay i undertand what you mean by the comment. I may have overcomplicated things, I just want matlab to basically output how many numbers are greater than 100 in ys. So if there is for example [ 200, 100, 150, 140, 210], i want it to output 3, meaning there is three numbers either equal to or greater to 100. So in this case have a over complicated my function?
thank for the help
When the assignment asked you to use a for loop, the intention was that you would check one element at a time and increment a counter if appropriate.
Your code was not just over-complicated, it was also doing the wrong thing.
could you provide an example to this as I am not really confident in using for loops
count = 0;
X = randi([0 50], 1, 10)
for K = 1 : 10
if mod(X(K),3) == 2 %some test
count = count + 1;
end
end
thank you so mcuh this will help

Sign in to comment.

Categories

Find more on Image Processing and Computer Vision in Help Center and File Exchange

Asked:

on 7 Apr 2020

Commented:

on 14 May 2020

Community Treasure Hunt

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

Start Hunting!