for loops and if statements
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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
1 Kommentar
Antworten (1)
Walter Roberson
am 7 Apr. 2020
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 Kommentare
Walter Roberson
am 9 Apr. 2020
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
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!