Написание функций CompressRLL и ExpandRLL в среде MatLab
Автор: SlgDay • Октябрь 21, 2023 • Практическая работа • 344 Слов (2 Страниц) • 109 Просмотры
Министерство образования и науки Российской Федерации
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра ТОР
Пратичческая работа №1
«Написание функций CompressRLL и ExpandRLL
в среде MatLab»
Выполнил:
Студент: Беликов В. В.
Группа: РТС9-01
Проверил:
Преподаватель: Райфельд М.А.
Новосибирск 2023
Код CompressRLL:
function[C] = fnCompressRLL(S)
N = length(S);
j = 1;
count = 1;
A = S(1);
for i = 2:N
if (S(i) == A)&&(count < 64)
count = count + 1;
else
if (A >= 192)||(count > 1)
C(j) = count + 192;
j = j + 1;
end
C(j) = A;
j = j+1;
A = S(i);
count = 1;
end
end
if (S(i) == A)&&(count < 64)
count = count + 1;
end
if (A >= 192)||(count > 1)
C(j) = count + 191;
j = j+1;
end
C(j) = A;
end
Код ExpandRLL:
function[C] = fnExpandRLL(R)
N = length(R);
j = 1;
count = 1;
i = 1;
while (i <= N)
A = R(i);
if A > 192
count = A - 192;
i = i+1;
A = R(i);
for k = 1:count
C(j) = A;
j = j+1;
end
else
C(j) = A;
j = j+1;
end
i = i + 1;
end
end
Пример работы данных функций:[pic 1]
[pic 2][pic 3]
...