Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Лабораторная работа №8-1
Массивы структур и массивы ячеек
Задан массив структур вида GR521 c информацией о группе студентов.
% script-file fillinfo.m
% file-program for struct massive inisialization
GR521(1).Fam='Alexeev'; GR521(1).Name='Ivan';
GR521(1).Year=1982; GR521(1).Marks=[4 5 5 4];
GR521(2).Fam='Ivanov'; GR521(2).Name='Sergey';
GR521(2).Year=1981; GR521(2).Marks=[3 4 4 5];
GR521(3).Fam='Nikolaev'; GR521(3).Name='Oleg';
GR521(3).Year=1981; GR521(3).Marks=[5 5 5 5];
GR521(4).Fam='Petrova'; GR521(4).Name='Anna';
GR521(4).Year=1982; GR521(4).Marks=[5 5 5 4];
GR521(5).Fam='Fedorova'; GR521(5).Name='Elena';
GR521(5).Year=1982; GR521(5).Marks=[3 3 3 4];
%
Написать файл-функцию для решения следующей задачи.
1. Подсчитать средний балл каждого студента и вывести столбцевую диаграмму
успеваемости.
Текст программы.
function av=f8_1(GR)
n=length(GR);
for k=1:n
av(k)=mean(GR(k).Marks);
end
%................................
bar(av)
%
Результаты работы программы.
fillinfo
av=f8_1(GR521)
av =
4.5000 4.0000 5.0000 4.7500 3.2500
Задан одномерный массив ячеек, который содержит данные различных типов.
% script-file cellinfo.m
% file-program for cell massive inisialization
CMAS{1}=5;
CMAS{2}='this is a string';
CMAS{3}=char('first string','second string');
CMAS{4}=[ 2 3;4 7];
CMAS{5}=[ 1 2 3 17 8];
CMAS{6}.Data=[3.91 8.76 5];
CMAS{6}.Month='april';
CMAS{7}=[2.18 7 5.6];
CMAS{8}.Data=[8 9 10];
CMAS{8}.Month='may';
CMAS{9}.Data=[15 16 17];
CMAS{9}.Month='november';
CMAS{10}=15;
CMAS{11}='111111111111111111111';
%
Написать файл-функцию для решения следующей задачи.
2. Определить количество ячеек, содержащих числа или числовые массивы.
Текст программы.
function num=f8_1c(C)
n=length(C);
num=0;
for k=1:n
if(isnumeric(C{k}))
num=num+1;
end
end
%
Результаты работы программы.
cellinfo
num=f8_1c(CMAS)
num =
5
PAGE 3