# IF statements, and its outputs.

95 views (last 30 days)
Benaiah on 3 Aug 2011
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
else
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

Arnaud Miege on 3 Aug 2011
One possible solution:
for a=1: length(Marks)
if Marks(a)>=5
else
end
end
Use a similar approach for gpa. It might possible to vectorize the for loops.
HTH,
Arnaud
Arnaud Miege on 5 Aug 2011
Which line of code does the error point to? Can you post your updated code?

bym on 10 Aug 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 on 11 Aug 2011
Benaiah on 12 Aug 2011
Thanks for all the help guys, i really appreciate it.

Benaiah on 11 Aug 2011
Everything works, but it won't give me the output matrix due to the same error of
"??? Error using ==> vertcat CAT arguments dimensions are not consistent."
I know the Marks row vector is causing the problem as the code below demonstrates.
Columns 1 through 9
'Ann' 'Bob' 'Jan' 'Jim' 'Joe' 'Kai' 'Pam' 'Sam' 'Tom'
'FAIL' 'FAIL' 'FAIL' 'FAIL' 'PASS' 'PASS' 'PASS' 'PASS' 'PASS'
'FAIL' 'FAIL' 'FAIL' 'FAIL' 'PASS' 'PASS' 'CREDIT' 'DISTINSTION' 'HIGH_DICTINCTION'
Column 10
'Zoe'
'PASS'
'HIGH_DICTINCTION'
How can i put the Marks row vector into the matrix without the vertcat error occuring.