Дослідження методів пошуку траєкторії руху для транспортної системи з урахуванням динамічної зміни навколишнього середовища
Основні алгоритми пошуку траєкторії руху для транспортної системи. Аналіз основних методів автоматизованого керування транспортною системою з урахуванням динамічної зміни навколишнього середовища. Шляхи покращення методів пошуку траєкторії руху.
Рубрика | Транспорт |
Вид | дипломная работа |
Язык | украинский |
Дата добавления | 22.06.2012 |
Размер файла | 3,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
25. Genetic Algorithm and Direct Search Toolbox - Математика в задачах оптимизации [Электронный ресурс] / Softline Co. - Режим доступа : http://matlab.exponenta.ru/genalg/index.php - Название с экрана.
26. MatLab и ООП, оптимизация [Статья] / Автор: green_fr, Франция - Режим доступа : http://habrahabr.ru/post/132364/ - Название с экрана.
27. MATLAB та його інтеграція в інші програмні додатки, ООП в MATLAB [Стаття] / Режим доступу: http://wiki.kspu.kr.ua/index.php/MATLAB_та_його_інтеграція_в_інші_програмні_додатки,_ООП_в_MATLAB - Название с экрана.
28. Mоделирование процессов и систем в MATLAB. Учебный курс Автор: Лазарев Ю. Год: 2005 Количество страниц: 512 Издательство: СПб.: Питер; Киев: ИГ BHV.
29. Математические расчеты на базе MATLAB Год выпуска: 2009 Автор: С. П. Иглин Издательство: СПб.:БХВ-Петербург Количество страниц: 640с.
30. MATLAB. Язык технических вычислений. Вычисление. Визуализация. Программирование Год: 2007 Переводчик: Конюшенко В.В. Издательство: Электронное издание переводчика Количество страниц: 73с.
31. Оптимизация (математика) [Статья] / Режим доступа : http://ru.wikipedia.org/wiki/Оптимизация_(математика) - Название с экрана.
32. Оптимизация (информатика) [Статья] / Режим доступа : http://ru.wikipedia.org/wiki/Оптимизация_(информатика) - Название с экрана.
33. Компьютерный анализ изображений: общие сведения, системы, примеры использования [Электронный ресурс] / Softline Co. - Режим доступа : http://www.infectology.ru/microscopy/today/analysis/index.aspx - Название с экрана.
34. Елманова Н. Построение деревьев решений// КомпьютерПресс, № 12, 2003.
35. Е. П. Липатов. Теория графов и её применения. - М., Знание, 1986, 32 с.
36. Зыков А. А. Основы теории графов. -- М.: «Вузовская книга», 2004. -- С. 664.
37. Древовидная структура [Электронный источник] / Ресурс: http://ru.wikipedia.org/wiki/Древовидная_структура - Название с экрана.
38. Салий В. Н. Богомолов А. М. Алгебраические основы теории дискретных систем. -- М.: Физико-математическая литература, 1997.
39. Басакер Р., Саати Т. Конечные графы и сети. М.: Наука, 1974. 368c.
40. Транспорт [Стаття] / Вікіпедія - Режим доступу : http://uk.wikipedia.org/wiki/Транспорт. - Назва з екрана.
41. Математична модель транспортної системи підприємства [Стаття] / Режим доступу : http://ua-referat.com/warcraft/Розробка_транспортної_ системи_установки_гамма_активаційного_аналізу. - Назва з екрана.
42. Васильева Е.М., Левит Б.Ю., Лившиц В.Н., Нелинейные транспортные задачи на сетях-. М.: Финансы и статистика, 2006.-104с.
43. Мухачева Э.А. Транспортная задача на сети с дополнительными ограничениями.-Экономика и мат.методы,1995.-280 с.
44. Диниц Е.А. Алгоритм решения задачи о максимальном потоке в сети. М.: Машиностроение 1988.
45. Ловецкий С.Е., Меламед И.И., Плотинский Ю.М. Модели и методы решения задач маршрутизации на транспортной сети.- В кн.: Итоги науки и техники. Организация управления транспортом. М.: ВИНИТИ, 1999, т3,с.55-112.
46. Транспортна задача [Стаття] / Вікіпедія - Режим доступу : http://uk.wikipedia.org/wiki/Транспортна_задача. - Назва з екрана.
47. Математична модель транспортної системи підприємства [Стаття] / Режим доступу :http://studentbank.ru/view.php?id=66836&p=5.
48. Основні поняття оптимізації [Стаття] / Режим доступу : http://blog.msangel.com.ua/mo/2. - Назва з екрана.
Додаток А. Алгоритми, використані в роботі
Рисунок А.1 - Алгоритм пошуку всіх можливих глобальних маршрутів з точки початку маршруту до точки його закінчення
Рисунок А.2 - Алгоритм пошуку всіх можливих шляхів прямування з заданої точки відправлення
Рисунок А.3 - Алгоритм пошуку оптимального шляху прямування за кількістю контрольних точок маршруту
Рисунок А.4 - Алгоритм пошуку оптимального шляху за одним з параметрів
Рисунок А.5 - Алгоритм пошуку оптимального шляху за всіма параметрами
Рисунок А.6 - Алгоритм реалізації керування роботою транспортної системи з урахуванням динамічної зміни навколишнього середовища
Додаток Б
Програмні коди
Реалізація алгоритму пошуку всіх можливих глобальних маршрутів з точки початку маршруту до точки його закінчення
function newsomeStruct=findAllWaysFromTo(From, To)
allWaysPoints=[1 2 4 0;2 8 0 1;3 0 0 4;4 3 5 1;5 6 9 4;6 7 10 5;7 6 0 8;8 7 0 2;9 10 11 5;10 12 6 9;11 12 0 9;12 10 11 0];
numberOfWays=0;
for i=2:1:4;
if(allWaysPoints(From,i)~=0)
numberOfWays=numberOfWays+1;
someStruct(numberOfWays).currentWay=struct('way',[From allWaysPoints(From,i)],'numberWays',2);
someStruct(numberOfWays).currentWay.way(someStruct(numberOfWays).currentWay.numberWays)=allWaysPoints(From,i);
someStruct(numberOfWays).currentFrom=allWaysPoints(From,i);
someStruct(numberOfWays).From=From;
someStruct(numberOfWays).To=To;
someStruct(numberOfWays).isEnd=0;
if allWaysPoints(From,i)==someStruct(numberOfWays).To
someStruct(numberOfWays).isEnd=1;
numberOfWays=numberOfWays+1;
continue;
else
[someStruct,numberOfWays]=findPoints(someStruct, numberOfWays);
end
end
end
j=1;
mySize=size(someStruct);
for i=1:1:mySize(2);
b(i)=someStruct(i).isEnd==1;
end
for i=1:1:mySize(2);
if b(i)
newsomeStruct(j)=someStruct(i);
j=j+1;
end
end
end
function [someStruct,numberOfWays]=findPoints(someStruct, numberOfWays)
allWaysPoints=[1 2 4 0;2 8 0 1;3 0 0 4;4 3 5 1;5 6 9 4;6 7 10 5;7 6 0 8;8 7 0 2;9 10 11 5;10 12 6 9;11 12 0 9;12 10 11 0];
got=someStruct(numberOfWays).currentFrom;
for i=2:1:4;
allreadyAdded=0;
if(allWaysPoints(got,i)==0)
continue;
else
way=allWaysPoints(got,i);
for j=1:1:someStruct(numberOfWays).currentWay.numberWays;
if someStruct(numberOfWays).currentWay.way(j) == way
allreadyAdded=1;
break;
end
end
if allreadyAdded==1
continue;
else
someStruct(numberOfWays).currentWay.numberWays=someStruct(numberOfWays).currentWay.numberWays+1;
someStruct(numberOfWays).currentWay.way(someStruct(numberOfWays).currentWay.numberWays)=way;
someStruct(numberOfWays).currentFrom=way;
someStruct(numberOfWays).isEnd=0;
if way == someStruct(numberOfWays).To
someStruct(numberOfWays).isEnd=1;
numberOfWays=numberOfWays+1;
for k=1:1:someStruct(numberOfWays-1).currentWay.numberWays-1;
someStruct(numberOfWays).currentWay.way(k)=someStruct(numberOfWays-1).currentWay.way(k);
end
someStruct(numberOfWays).currentWay.numberWays=someStruct(numberOfWays-1).currentWay.numberWays-1;
someStruct(numberOfWays).currentFrom=someStruct(numberOfWays).currentWay.way(someStruct(numberOfWays).currentWay.numberWays);
someStruct(numberOfWays).From=someStruct(numberOfWays-1).From;
someStruct(numberOfWays).To=someStruct(numberOfWays-1).To;
someStruct(numberOfWays).isEnd=0;
continue;
else
[someStruct,numberOfWays]=findPoints(someStruct, numberOfWays);
end
end
end
end
w=[];
for k=1:1:someStruct(numberOfWays).currentWay.numberWays-1;
w(k)=someStruct(numberOfWays).currentWay.way(k);
end
someStruct(numberOfWays).currentWay.way=w;
someStruct(numberOfWays).currentWay.numberWays=someStruct(numberOfWays).currentWay.numberWays-1;
someStruct(numberOfWays).currentFrom=someStruct(numberOfWays).currentWay.way(someStruct(numberOfWays).currentWay.numberWays);
someStruct(numberOfWays).isEnd=0;
end
Реалізація алгоритму пошуку оптимального шляху прямування за кількістю контрольних точок маршруту
function resultWay=findByNumberOfPoints(someStruct)
s=size(someStruct);
someWay=0;
for i=1:1:s(2)
s2=size(someStruct(i).currentWay.way);
someWay(i)=s2(2);
end
[a,b]=sort(someWay);
for i=1:1:s(2)
resultWay(i)=someStruct(b(i));
end
end
Реалізація алгоритму пошуку оптимального шляху прямування за одним параметром
function sortedMass=findByOneParameter(someStruct, someParameterName)
%%Initialize variables
allWaysPoints=[1 2 4 0;2 8 0 1;3 0 0 4;4 3 5 1;5 6 9 4;6 7 10 5;7 6 0 8;8 7 0 2;9 10 11 5;10 12 6 9;11 12 0 9;12 10 11 0];
localWays=[1 1 2;2 1 4;3 2 8;4 8 7;5 4 3;6 4 5;7 5 6;8 5 9;9 7 6;10 6 10;11 9 10;12 9 11;13 11 12;14 10 12];
%%Find optimal way
z=size(localWays);
for i=1:1:z(1)
someWaysFT(i,1)=localWays(i,2);
someWaysFT(i,2)=localWays(i,3);
end
s1=size(someStruct);
l=1;
for i=1:1:s1(2)
s2=size(someStruct(i).currentWay.way);
for j=1:1:(s2(2)-1)
From=someStruct(i).currentWay.way(j);
To=someStruct(i).currentWay.way(j+1);
for k=1:1:14
if From==someWaysFT(k,1)||To==someWaysFT(k,1)
if From==someWaysFT(k,2)||To==someWaysFT(k,2)
currentGlobalWay(i).someW(j)=k;
break;
end
end
end
end
end
[someMass,currentGlobalWay]=someCickle(currentGlobalWay,someParameterName);
if strcmp('time',someParameterName)
sortedMass=sortByTime(someMass,someStruct);
elseif strcmp('length',someParameterName)
sortedMass=sortByLength(someMass,someStruct);
elseif strcmp('load',someParameterName)
sortedMass=sortByLoad(someMass,someStruct);
elseif strcmp('speed',someParameterName)
sortedMass=sortBySpeed(someMass,someStruct);
end
end
function [someMass,currentGlobalWay]=someCickle(currentGlobalWay,someParameterName)
waysTime=[1 14;2 5;3 5;4 3;5 6;6 4;7 3;8 3;9 4;10 3;11 3;12 2;13 3;14 2];
waysLength=[1 70;2 25;3 25;4 15;5 30;6 20;7 15;8 15;9 20;10 15;11 15;12 10;13 15;14 10];
waysLoad=[1 1;2 1;3 1;4 1;5 1;6 1;7 3;8 3;9 1;10 2;11 2;12 2;13 2;14 2];
wayaSpeed=[1 5;2 5;3 5;4 5;5 4;6 5;7 3;8 4;9 4;10 5;11 6;12 6;13 6;14 6];
%%Find parameter
time='time';
length='length';
load='load';
speed='speed';
if strcmp(time,someParameterName)
s=size(currentGlobalWay);
for i=1:1:s(2)
s2=size(currentGlobalWay(i).someW);
someMass(i).optim=0;
for j=1:1:s2(2)
someMass(i).param='time';
someMass(i).optim=someMass(i).optim+waysTime(currentGlobalWay(i).someW(j),2);
end
end
elseif strcmp(length,someParameterName)
s=size(currentGlobalWay);
%Внутренний фор для прохождения по всем элементам массива структур
%currentGlobalWay
for i=1:1:s(2)
s2=size(currentGlobalWay(i).someW);
%Внутренний фор для прохождения по всем элементам массива структуры
%currentGlobalWay(i).someW
someMass(i).optim=0;
for j=1:1:s2(2)
someMass(i).param='length';
someMass(i).optim=someMass(i).optim+waysLength(currentGlobalWay(i).someW(j),2);
end
end
elseif strcmp(load,someParameterName)
s=size(currentGlobalWay);
for i=1:1:s(2)
s2=size(currentGlobalWay(i).someW);
for j=1:1:s2(2)
s2=size(currentGlobalWay(i).someW);
t=0;
for k=1:1:s2(2)
someMass(i).param='load';
t=t+waysLoad(currentGlobalWay(i).someW(j),2);
end
end
someMass(i).optim=t/s2(2);
end
elseif strcmp(speed,someParameterName)
s=size(currentGlobalWay);
for i=1:1:s(2)
s2=size(currentGlobalWay(i).someW);
for j=1:1:s2(2)
s2=size(currentGlobalWay(i).someW);
t=0;
for j=1:1:s2(2)
someMass(i).param='speed';
t=t+wayaSpeed(currentGlobalWay(i).someW(j),2);
end
end
someMass(i).optim=t/s2(2);
end
else
disp('Underfind parameter!')
end
end
function sortedMass=sortByTime(someMass,currentGlobalWay)
order=[0];
s=size(someMass);
for i=1:1:s(2)
w(i)=someMass(i).optim;
end
[a,order]=sort(w);
for i=1:1:s(2)
sortedMass(i)=currentGlobalWay(order(i));
end
for i=1:1:s(2)
sortedMass(i).timeValue=a(i);
end
end
function sortedMass=sortByLength(someMass,currentGlobalWay)
order=[0];
s=size(someMass);
for i=1:1:s(2)
w(i)=someMass(i).optim;
end
[a,order]=sort(w);
for i=1:1:s(2)
sortedMass(i)=currentGlobalWay(order(i));
end
for i=1:1:s(2)
sortedMass(i).lengthValue=a(i);
end
end
function sortedMass=sortByLoad(someMass,currentGlobalWay)
order=[0];
s=size(someMass);
for i=1:1:s(2)
w(i)=someMass(i).optim;
end
[a,order]=sort(w);
for i=1:1:s(2)
sortedMass(i)=currentGlobalWay(order(i));
end
for i=1:1:s(2)
sortedMass(i).loadValue=a(i);
end
end
function sortedMass=sortBySpeed(someMass,currentGlobalWay)
order=[0];
s=size(someMass);
for i=1:1:s(2)
w(i)=someMass(i).optim;
end
[a,order]=sort(w, 'descend');
for i=1:1:s(2)
sortedMass(i)=currentGlobalWay(order(i));
end
for i=1:1:s(2)
sortedMass(i).speedValue=a(i);
end
end
Реалізація алгоритму пошуку оптимального шляху прямування за всіма параметрами
function [firstStruct,newStruct]=findByAllParameters(someStruct)
%%Initialize variables
allWaysPoints=[1 2 4 0;2 8 0 1;3 0 0 4;4 3 5 1;5 6 9 4;6 7 10 5;7 6 0 8;8 7 0 2;9 10 11 5;10 12 6 9;11 12 0 9;12 10 11 0];
localWays=[1 1 2;2 1 4;3 2 8;4 8 7;5 4 3;6 4 5;7 5 6;8 5 9;9 7 6;10 6 10;11 9 10;12 9 11;13 11 12;14 10 12];
%%Find optimal way
z=size(localWays);
for i=1:1:z(1)
someWaysFT(i,1)=localWays(i,2);
someWaysFT(i,2)=localWays(i,3);
end
s1=size(someStruct);
l=1;
for i=1:1:s1(2)
s2=size(someStruct(i).currentWay.way);
for j=1:1:(s2(2)-1)
From=someStruct(i).currentWay.way(j);
To=someStruct(i).currentWay.way(j+1);
for k=1:1:14
if From==someWaysFT(k,1)||To==someWaysFT(k,1)
if From==someWaysFT(k,2)||To==someWaysFT(k,2)
currentGlobalWay(i).someW(j)=k;
break;
end
end
end
end
end
%%Выделение НЕ отсортированных массивов со значениями параметров на путях
someParameterName='time';
time_someMass=someCickle(currentGlobalWay,someParameterName);
someParameterName='length';
length_someMass=someCickle(currentGlobalWay,someParameterName);
someParameterName='load';
load_someMass=someCickle(currentGlobalWay,someParameterName);
someParameterName='speed';
speed_someMass=someCickle(currentGlobalWay,someParameterName);
%%Сортировка массивов, возвращает массив номеров элементов каждого массива
%%каждого параметра (по сути массива currentGlobalWay для каждого параметра)
timeOrder=sortByTime(time_someMass,someStruct);
lengthOrder=sortByLength(length_someMass,someStruct);
loadOrder=sortByLoad(load_someMass,someStruct);
speedOrder=sortBySpeed(speed_someMass,someStruct);
disp('<------------------------------->')
disp('time')
disp(timeOrder)
disp('length')
disp(lengthOrder)
disp('load')
disp(loadOrder)
disp('speed')
disp(speedOrder)
disp('<------------------------------->')
%%Выделение коэфициентов для каждого пути по каждому параметру
resultPoints=findParametersPoints(someStruct, timeOrder, lengthOrder, loadOrder, speedOrder);
%%Сортировка исходного пути по вычесленным коэфициентам
[firstStruct,newStruct]=sortByAllParameters(someStruct, resultPoints);
end
%someMass - некоторый массив, в котором хранятся данные по параматрам на
%путях
%currentGlobalWay -
function someMass=someCickle(currentGlobalWay,someParameterName)
waysTime=[1 14;2 5;3 5;4 3;5 6;6 4;7 3;8 3;9 4;10 3;11 3;12 2;13 3;14 2];
waysLength=[1 70;2 25;3 25;4 15;5 30;6 20;7 15;8 15;9 20;10 15;11 15;12 10;13 15;14 10];
waysLoad=[1 1;2 1;3 1;4 1;5 1;6 1;7 3;8 3;9 1;10 2;11 2;12 2;13 2;14 2];
wayaSpeed=[1 5;2 5;3 5;4 5;5 4;6 5;7 3;8 4;9 4;10 5;11 6;12 6;13 6;14 6];
%%Find parameter
time='time';
length='length';
load='load';
speed='speed';
if strcmp(time,someParameterName)
s=size(currentGlobalWay);
for i=1:1:s(2)
s2=size(currentGlobalWay(i).someW);
someMass(i).optim=0;
for j=1:1:s2(2)
someMass(i).param='time';
someMass(i).optim=someMass(i).optim+waysTime(currentGlobalWay(i).someW(j),2);
end
end
elseif strcmp(length,someParameterName)
s=size(currentGlobalWay);
%Внутренний фор для прохождения по всем элементам массива структур
%currentGlobalWay
for i=1:1:s(2)
s2=size(currentGlobalWay(i).someW);
%Внутренний фор для прохождения по всем элементам массива структуры
%currentGlobalWay(i).someW
someMass(i).optim=0;
for j=1:1:s2(2)
someMass(i).param='length';
someMass(i).optim=someMass(i).optim+waysLength(currentGlobalWay(i).someW(j),2);
end
end
elseif strcmp(load,someParameterName)
s=size(currentGlobalWay);
for i=1:1:s(2)
s2=size(currentGlobalWay(i).someW);
for j=1:1:s2(2)
s2=size(currentGlobalWay(i).someW);
t=0;
for k=1:1:s2(2)
someMass(i).param='load';
t=t+waysLoad(currentGlobalWay(i).someW(j),2);
end
end
someMass(i).optim=t/s2(2);
end
elseif strcmp(speed,someParameterName)
s=size(currentGlobalWay);
for i=1:1:s(2)
s2=size(currentGlobalWay(i).someW);
for j=1:1:s2(2)
s2=size(currentGlobalWay(i).someW);
t=0;
for j=1:1:s2(2)
someMass(i).param='speed';
t=t+wayaSpeed(currentGlobalWay(i).someW(j),2);
end
end
someMass(i).optim=t/s2(2);
end
else
disp('Underfind parameter!')
end
end
function order=sortByTime(someMass,currentGlobalWay)
order=[0];
s=size(someMass);
for i=1:1:s(2)
w(i)=someMass(i).optim;
end
[a,order]=sort(w);
for i=1:1:s(2)
sortedMass(i)=currentGlobalWay(order(i));
end
for i=1:1:s(2)
sortedMass(i).timeValue=a(i);
end
end
function order=sortByLength(someMass,currentGlobalWay)
order=[0];
s=size(someMass);
for i=1:1:s(2)
w(i)=someMass(i).optim;
end
[a,order]=sort(w);
for i=1:1:s(2)
sortedMass(i)=currentGlobalWay(order(i));
end
for i=1:1:s(2)
sortedMass(i).lengthValue=a(i);
end
end
function order=sortByLoad(someMass,currentGlobalWay)
order=[0];
s=size(someMass);
for i=1:1:s(2)
w(i)=someMass(i).optim;
end
[a,order]=sort(w);
for i=1:1:s(2)
sortedMass(i)=currentGlobalWay(order(i));
end
for i=1:1:s(2)
sortedMass(i).loadValue=a(i);
end
end
function order=sortBySpeed(someMass,currentGlobalWay)
order=[0];
s=size(someMass);
for i=1:1:s(2)
w(i)=someMass(i).optim;
end
[a,order]=sort(w, 'descend');
for i=1:1:s(2)
sortedMass(i)=currentGlobalWay(order(i));
end
for i=1:1:s(2)
sortedMass(i).speedValue=a(i);
end
end
function resultPoints=findParametersPoints(someStruct, timeOrder, lengthOrder, loadOrder, speedOrder)
t=size(timeOrder);
for i=1:1:t(2)
resultPoints(i)=0;
end
for i=1:1:t(2)
resultPoints(timeOrder(i))=resultPoints(timeOrder(i))+t(2)-i+1;
resultPoints(lengthOrder(i))=(resultPoints(lengthOrder(i))+t(2)-i+1);
resultPoints(loadOrder(i))=(resultPoints(loadOrder(i))+(t(2)-i+1)/2);
resultPoints(speedOrder(i))=(resultPoints(speedOrder(i))+(t(2)-i+1)/2);
end
end
function [firstStruct,newStruct]=sortByAllParameters(someStruct, resultPoints)
firstStruct=someStruct;
[a,order]=sort(resultPoints, 'descend');
s=size(resultPoints);
for i=1:1:s(2)
newStruct(i)=someStruct(order(i));
end
end
Реалізація аналізу поточного стану шляхів за допомогою зображень з WEB-камери
function scanResult=WEBcam(someStruct)
load picturesForDiploma;
level = graythresh(picture1);
bw = im2bw(picture1,level);
localWays=[1 1 2;2 1 4;3 2 8;4 8 7;5 4 3;6 4 5;7 5 6;8 5 9;9 7 6;10 6 10;11 9 10;12 9 11;13 11 12;14 10 12];
imshow(picture2)
hold on
%%Find optimal way
z=size(localWays);
for i=1:1:z(1)
someWaysFT(i,1)=localWays(i,2);
someWaysFT(i,2)=localWays(i,3);
end
s1=size(someStruct);
for i=1:1:s1(2)
s2=size(someStruct(i).currentWay.way);
for j=1:1:(s2(2)-1)
From=someStruct(i).currentWay.way(j);
To=someStruct(i).currentWay.way(j+1);
for k=1:1:14
if From==someWaysFT(k,1)||To==someWaysFT(k,1)
if From==someWaysFT(k,2)||To==someWaysFT(k,2)
currentGlobalWay(i).someW(j)=k;
break;
end
end
end
end
end
for i=1:1:s1(2)
disp('<------------------------------------->')
disp(currentGlobalWay(i).someW)
end
scanResult=tryWay(bw,currentGlobalWay);
end
function scanResult=tryWay(bw,currentGlobalWay)
pointsWays=getPoints;
founded=0;
s=size(currentGlobalWay);
for i=1:1:s(2)
s2=size(currentGlobalWay(i).someW);
for j=1:1:s2(2)
vec=currentGlobalWay(i).someW(j);
founded=0;
if pointsWays(vec).vector==1
s3=size(pointsWays(vec).rows);
for k=1:1:s3(2)
if bw(pointsWays(vec).cols,pointsWays(vec).rows(k))==0
founded=1;
break;
end
end
else
s3=size(pointsWays(vec).cols);
for k=1:1:s3(2)
if bw(pointsWays(vec).cols(k),pointsWays(vec).rows)==0
founded=1;
break;
end
end
end
if founded==1
scanResult(i,j)=1;
else
scanResult(i,j)=0;
end
end
end
end
function pointsWays=getPoints
pointsWays(1).rows=[250:735];
pointsWays(1).cols=50;
pointsWays(1).vector=1;
pointsWays(2).rows=250;
pointsWays(2).cols=[50:270];
pointsWays(2).vector=0;
pointsWays(3).rows=735;
pointsWays(3).cols=[50:270];
pointsWays(3).vector=0;
pointsWays(4).rows=[675:735];
pointsWays(4).cols=270;
pointsWays(4).vector=1;
pointsWays(5).rows=[60:250];
pointsWays(5).cols=270;
pointsWays(5).vector=1;
pointsWays(6).rows=[250:390];
pointsWays(6).cols=270;
pointsWays(6).vector=1;
pointsWays(7).rows=[390:500];
pointsWays(7).cols=270;
pointsWays(7).vector=1;
pointsWays(8).rows=390;
pointsWays(8).cols=[270:450];
pointsWays(8).vector=0;
pointsWays(9).rows=[500:675];
pointsWays(9).cols=270;
pointsWays(9).vector=1;
pointsWays(10).rows=500;
pointsWays(10).cols=[270:450];
pointsWays(10).vector=0;
pointsWays(11).rows=[390:500];
pointsWays(11).cols=450;
pointsWays(11).vector=1;
pointsWays(12).rows=390;
pointsWays(12).cols=[450:500];
pointsWays(12).vector=0;
pointsWays(13).rows=[390:500];
pointsWays(13).cols=500;
pointsWays(13).vector=1;
pointsWays(14).rows=500;
pointsWays(14).cols=[450:500];
pointsWays(14).vector=0;
end
Размещено на Allbest.ru
Подобные документы
Побудування математичної моделі системи управління рухом судна в горизонтальній площини з урахуванням компенсації вітрового збурення на основі закону управління. Застосування рекурентної форми математичного моделювання. Побудова траєкторії руху судна.
контрольная работа [262,1 K], добавлен 20.05.2015Аналіз методів організації дорожнього руху. Схема транспортної мережі. Особливості транспортного району, об’єкти транспортного тяжіння, маршрути. Характеристики технічних засобів регулювання дорожнього руху. Критерії вводу світлофорної сигналізації.
дипломная работа [1,0 M], добавлен 15.01.2013Огляд існуючих систем керування підвіскою. Динамічна система підресорювання БТР. Розробка математичної моделі руху колісної машини по нерівностях. Структурна та функціональна схеми керування підвіскою. Датчик швидкості руху на основі ефекту Хола.
дипломная работа [4,6 M], добавлен 10.06.2011Вірна посадка водія в автомобілі, регулювання сидіння, ременів безпеки, дзеркал заднього виду. Послідовність дій органами керування на початку руху, при збільшенні швидкості і гальмуванні. Аналіз типових помилок водія під час зміни напрямку руху.
реферат [13,2 M], добавлен 13.02.2010Сучасний стан міжнародних перевезень в Україні та за кордоном. Загальні пріоритетні напрямами розвитку транзитно-транспортної системи. Особливості дорожнього руху у Швеції. Допустимі навантаження на вісь, обмеження руху та особливості доріг країни.
контрольная работа [1,1 M], добавлен 22.01.2015Аналіз методів розробки систем керування електроприводом дизель-потягу. Розробка моделі блоку "синхронний генератор-випрямлювач" електропередачі з використанням нейронних мереж. Моделювання тягових двигунів. Дослідження регуляторів системи керування.
дипломная работа [2,5 M], добавлен 15.07.2009Поняття, структура, основні вимоги до транспортної мережі NGN. Порівняльний аналіз технологій транспортних мереж. Технологія MPLS. Аналіз розподілу трафіку на основі методів трафік інжинірингу. Оптимізація характеристик мереж MPLS, чисельне моделювання.
дипломная работа [3,8 M], добавлен 19.08.2011Вивчення будови та принципу дії, технічного обслуговування та ремонту системи живлення автомобіля ВАЗ-2121. Аналіз карти техогляду, неполадок та методів їх усунення. Розрахунок силового балансу автомобілю при умовах руху в залежності від погодних умов.
курсовая работа [476,1 K], добавлен 26.04.2011Дорожній рух як сукупність суспільних відносин, що виникають у процесі переміщення людей і вантажів за допомогою транспортних засобів або без таких у межах доріг, визначення його характеристик. Удосконалення методів руху різних видів транспорту в містах.
курсовая работа [1,1 M], добавлен 20.03.2014Вдосконалення діяльності та моделювання стратегії поведінки судноплавної компанії - основного суб’єкта системи транспортного обслуговування зовнішньоекономічної діяльності підприємств. Визначення показників оцінки ефективності транспортної системи.
дипломная работа [476,5 K], добавлен 01.05.2011