IF statements, and its outputs.
9 vues (au cours des 30 derniers jours)
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
0 commentaires
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 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'
0 commentaires
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!