Las ciudades de Rumanía amplían su primera búsqueda usando matlab
Estoy trabajando en un proyecto que hace referencia a las ciudades de Rumania Breadth-First Search:
mapa de las ciudades de rumania
Tengo una función para crear los vecinos:
function [NeighborName PathLength StraightLineDistance] = makeneighbor(x,y,z)
NeighborName=x;
PathLength=y; % distance from current city to neighbor
StraightLineDistance=z; % i want to use it for a* model
y en mi 'main.m' he definido ciudad * y vecinos:
clc;clear;
city1='Arad'
[neighbor_name neighbor_distance straight_line_distance]=makeneighbor('Zerind',75,374)
[neighbor_name neighbor_distance straight_line_distance]=makeneighbor('Sibiu',140,253)
[neighbor_name neighbor_distance straight_line_distance]=makeneighbor('Timisoara',118,329)
city2='Zerind'
[neighbor_name neighbor_distance straight_line_distance]=makeneighbor('Oradea',71,380)
[neighbor_name neighbor_distance straight_line_distance]=makeneighbor('Arad',75,366)
.
.
.
city20='Neamt'
[neighbor_name neighbor_distance straight_line_distance]=makeneighbor('Iasi',87,226)
cada vez compara la ciudad con Bucarest
if city*=='bucharest'
break;
else
list= add the city to list.
para la próxima vez necesito comparar su vecino con el objetivo y cada vez que city ~ = 'bucharest' agregue esa ciudad a la lista. Además, cuando encuentre el objetivo, agregue el objetivo a la lista.
Ahora necesito una función para encontrar bucarest y poner ciudades anteriores en una matriz. Encuentra automáticamente ciudades y sus valores. Me gusta esto:
path1=['arad' 'sibiu' 'fagaras' 'bucharest'];
distance1=[140 99 211];
path2=['arad' 'zerind' 'oradea' 'sibiu' 'fagaras' 'bucharest'];
distance2=[75 71 151 99 211];
path3=['arad' 'zerind' 'oradea' 'sibiu' 'vilcea' 'pitesti' 'bucharest'];
distance3=[75 71 151 80 97 101];
.
.
pathN=[city1:cityN 'bucharest'];
distanceN=[distance1:distanceN]
disp('please explain very simple. im not so expert in matlab, and my primary language is not english. many thanx...')