for loops and if statements

3 Ansichten (letzte 30 Tage)
Aroi Mehu
Aroi Mehu am 7 Apr. 2020
Kommentiert: Rena Berman am 14 Mai 2020
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

Antworten (1)

Walter Roberson
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
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
Aroi Mehu
Aroi Mehu am 9 Apr. 2020
thank you so mcuh this will help

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Programming 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