IF statements, and its outputs.
Afficher commentaires plus anciens
How should I code the if statements so I can organise the 10 outputs of each if statement into a row vector; of which I will further on place into a matrix with a few a few other row vectors?. The Marks row vector is filled prior to the 2 if statements.
Marks = [MarkAnn,MarkBob,MarkJan,MarkJim,MarkJoe,MarkKai,MarkPam,MarkSam,MarkTom,MarkZoe];
Percentages = Marks*10;
for a=1: length(Marks)
if Marks>=5
grade = PASS
else
grade = FAIL
end
end
for a=1: length(Percentages)
if Percentages<50
gpa = FAIL
elseif Percentages>=50, Percentages<65
gpa = PASS
elseif Percentages>=65, Percentages<75
gpa = CREDIT
elseif Percentages>=75, Percentages<85
gpa = DISTINSTION
elseif Percentages>=85
gpa = HIGH_DICTINCTION
end
end
Réponses (4)
Arnaud Miege
le 3 Août 2011
One possible solution:
grade = cell(size(Marks));
for a=1: length(Marks)
if Marks(a)>=5
grade{a} = 'PASS';
else
grade{a} = 'FAIL';
end
end
Use a similar approach for gpa. It might possible to vectorize the for loops.
HTH,
Arnaud
3 commentaires
Arnaud Miege
le 3 Août 2011
Are PASS and FAIL variables that have already been defined or just strings. The code I posted is for strings. If they are variables, you'll need to do that instead:
grade = zeros(size(Marks));
for a=1: length(Marks)
if Marks(a)>=5
grade(a) = PASS;
else
grade(a) = FAIL;
end
end
or simply
grade = zeros(size(Marks));
grade(Marks>=5) = PASS;
grade(Marks<5) = FAIL;
Benaiah
le 3 Août 2011
Arnaud Miege
le 5 Août 2011
Which line of code does the error point to? Can you post your updated code?
bym
le 10 Août 2011
Percentages=rand(10,1)*100;
gpa = cell(1,length(Percentages));
for a = 1:length(Percentages)
if Percentages(a) < 50
gpa{a} = 'fail';
elseif Percentages(a) >=50 && Percentages(a) < 65
gpa{a} = 'pass';
elseif Percentages(a) >=65 && Percentages(a) < 75
gpa{a} = 'credit';
elseif Percentages(a) >=75 && Percentages(a) < 85
gpa{a} = 'distiction';
else
gpa{a} = 'high distinction';
end %if
end %for
gpa'
Walter Roberson
le 11 Août 2011
NameMarkGradeGPA = [Names;num2cell(Marks);Grade;GPA]
1 commentaire
Benaiah
le 12 Août 2011
Benaiah
le 11 Août 2011
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!