Скачиваний:
13
Добавлен:
05.01.2021
Размер:
1.54 Кб
Скачать
function [NM]=NMEA(m_station,m_inf,range_station)%формирование матрицы данных для сообщений NMEA
h=input('Время работы аккумулятора (в часах): ');
m=input('Время зарядки аккумулятора (в минутах): ');
for i=2:(length(range_station))
DD(i-1)=m_inf(range_station(i),range_station(i-1));%расстояние (берётся из матрицы перемещений)
XX(i-1)=fix(DD(i-1)/18);%время в часах (как путь, деленный на скорость)
YY(i-1)=(DD(i-1)/18-XX(i-1))*60;%время в минутах (как время в часах с дробной частью минус округленное время, остаток умножаем на 60 и получаем минуты)
ZZ(i-1)=ugol(m_station(range_station(i-1),1), m_station(range_station(i-1),2), m_station(range_station(i),1), m_station(range_station(i),2)); %угол поворота
if i==length(range_station)%последний пункт (конец движения)
S2(i-1)='E';%сигнал конца движения
S1(i-1)='T';%сигнал наличия поворота
else
S2(i-1)='N';%сигнал "движение не окончено"
S1(i-1)='T';%сигнал наличия поворота
end
if (i>2)%любая станция, кроме начальной
if (ZZ(i-1)==ZZ(i-2))%если угол не меняется
S1(i-1)='N';%сигнал отсутствия поворота
end
end
end
%записываем все полученные данные в матрицу
NM=zeros(length(range_station)-1);
NM(:,1)=XX;%записываем в 1-ый стоблец
NM(:,2)=YY;%аналогично
NM(:,3)=DD;%аналогично
NM(:,4)=S1;%аналогично
NM(:,5)=ZZ;%аналогично
NM(:,6)=S2;%аналогично
NM(1,1)=h;%записываем в первую строку первый стоблец
NM(1,2)=m;%записываем в первую строку второй стоблец
end



Соседние файлы в папке курсач по ФБ (подходит под все варианты)