Unable to perform assignment because the left and right sides have a different number of elements. Error in Assignment​6ExcelCody​Madsen (line 44) letter(i) = 'B+' ; How do I fix this problem?

1 view (last 30 days)
gradebook = xlsread('Exam_Grades_Data(1)');
display (gradebook);
%%Average Exam Grade for Each Student
% 0 - 59 = E
% 0 - 59 = E
% 0 - 59 = E
% 0 - 59 = E
% 0 - 59 = E
% loopend = length(x)
% loopend = length(grades)
i = 1:5;
average(i) = mean(gradebook(i,1:5));
temp = size(gradebook)
loopend = temp(1,1)
loopend = size(gradebook,1)
for i = 1:loopend
average(i) = mean(gradebook(i,1:5));
end
for i = 1:loopend
if (average(i) <= 59)
letter(i) = 'E' ;
elseif (average(i) <= 69)
letter(i) = 'D' ;
elseif (average(i) <= 75)
letter(i) = 'C' ;
elseif (average(i) <= 79)
letter(i) = 'C+' ;
elseif (average(i) <= 85)
letter(i) = 'B' ;
elseif (average(i) <= 89)
letter(i) = 'B+' ;
else
letter(i) = 'A' ;
end
end
display(Grades)
display(i)
display(average)
display(letter)

Answers (2)

Stephen23
Stephen23 on 10 Oct 2018
Edited: Stephen23 on 10 Oct 2018
What you are doing will not work: (i) refers to one element of the char array letter, and it is not possible to force multiple characters into one element of a char array: one element is one character. You can use a cell array to store those char vectors:
C = cell(1,loopend); % preallocate cell array.
for k = 1:loopend
if average(k) <= 59
C{k} = 'E';
... ^ ^ curly braces to access cell array contents
end
end
Read more:
Note that you don't need loops or switch for this task:
avg = mean(gradebook(:,1:5),2);
%avg = [0;23;45;67;89;100]; % test values
bin = [0, 60, 70, 75, 80, 85, 90, 100];
mrk = {'E','D','C','C+','B','B+','A'};
[~,idx] = histc(avg,bin);
idx = min(idx,numel(mrk));
out = mrk(idx)

aqsa
aqsa on 31 Jul 2019
Unable to perform assignment because the size of the left side is 1-by-3377160 and the size of the right side is
1-by-3060288.plz help
  3 Comments
aqsa
aqsa on 31 Jul 2019
% Erxtecting Hog features for all training images and store in a vector
trainingFeatures= zeros(nImages,hogFeatureSize,'single');
for i=1: nImages
img=readimage(imdsTrain,i);
trainingFeatures(i,:)= extractHOGFeatures(img,'CellSize',CellSize);
end
trainingLabels=imdsTrain.Labels;

Sign in to comment.

Categories

Find more on Denoising and Compression in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!