Дослідження методів пошуку траєкторії руху для транспортної системи з урахуванням динамічної зміни навколишнього середовища

Основні алгоритми пошуку траєкторії руху для транспортної системи. Аналіз основних методів автоматизованого керування транспортною системою з урахуванням динамічної зміни навколишнього середовища. Шляхи покращення методів пошуку траєкторії руху.

Рубрика Транспорт
Вид дипломная работа
Язык украинский
Дата добавления 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.