marksheet in matlab program

조회 수: 8 (최근 30일)
busy girl
busy girl 2020년 12월 8일
편집: Image Analyst 2020년 12월 8일
I have following data set in excel file
rollno name courses marks
12 abc maths 10
12 abc english 10
12 abc science 10
13 def maths 5
13 def english 5
12 def sciece 5
now i want to get total marks and percentage of each sutdent in next columns in excel file like below ... so how i do write matlab program
rollno name courses marks total marks perecentage
12 abc maths 10
12 abc english 10
12 abc science 10
30 50%
13 def maths 5
13 def english 5
12 def sciece 5
15 60%

답변 (1개)

Image Analyst
Image Analyst 2020년 12월 8일
편집: Image Analyst 2020년 12월 8일
You forgot to attach the Excel workbook.
You'd do something like (untested)
[numbers, strings, raw] = xlsread(fileName);
% Then go down numbers looking for valid rows
rollno = numbers(:, 1);
marks = numbers(:, 4);
% Get rid of nan's
blankRows = isnan(rollno);
rollno = rollno(~blankRows);
marks = marks(~blankRows);
% Find the unique rolnos
uniqueNumbers = unique(rollno(~blankRows))
for rn = 1 : length(uniqueNumbers)
thisStudentID = uniqueNumbers(rn);
thisStudentIndexes = rollno == thisStudentID; % Logical vector
% Get average marks for this student
aveMarks(thisStudentID) = mean(marks(thisStudentIndexes));
% Get total marks for this student
totalMarks(thisStudentID) = sum(marks(thisStudentIndexes));
end
Of course you could use splitapply() or grpstats() if you want to do it in a single function call rather than a for loop.
Is it homework?
To Learn MATLAB:

카테고리

Help CenterFile Exchange에서 Get Started with MATLAB에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by