copy
Créer une copie complète de l'objet planificateur de chemin A*
Depuis R2023a
Syntaxe
Description
crée une copie complète de l'objet planner2
= copy(planner1
)plannerAStar
planner1
.
Exemples
Planifier le chemin le plus court entre deux états dans un graphique à l'aide du planificateur de chemin A-Star
Chargez le réseau routier du Queensland.
load("queenslandRoutes","places","routes")
Spécifiez les états, les liens et les poids pour un objet navGraph
.
states = places.utm; % UTM coordinates of cities names = places.name; % Names of cities links = [routes.start routes.end]; % Adjacent cities weights = routes.time; % Travel time between adjacent cities
Créez un objet navGraph
.
graphObj = navGraph(states,links,Weight=weights, ...
Name=names);
Créez un planificateur de chemin A* basé sur un graphique.
planner = plannerAStar(graphObj);
Créez une copie complète de l'objet plannerAStar
.
planner2 = copy(planner)
planner2 = plannerAStar with properties: HeuristicCostFcn: @nav.algs.distanceManhattan TieBreaker: 0 Graph: [1x1 navGraph]
Spécifier une fonction heuristique renvoie un temps estimé pour atteindre l'objectif.
planner.HeuristicCostFcn = @(state1,state2) ...
sum(abs(state1-state2),2)/100;
Définir les villes de départ et d'arrivée.
start = "Hughenden"; goal = "Brisbane";
Trouvez le chemin le plus court à l’aide de l’algorithme A* basé sur un graphique.
[pathOutput,solutionInfo] = plan(planner,start,goal);
Visualisez les résultats.
h = show(graphObj); set(h,XData=graphObj.States.StateVector(:,1), ... YData=graphObj.States.StateVector(:,2)) pathStateIDs = solutionInfo.PathStateIDs; highlight(h,pathStateIDs,EdgeColor="#EDB120",LineWidth=4) highlight(h,pathStateIDs(1),NodeColor="#77AC30",MarkerSize=5) highlight(h,pathStateIDs(end),NodeColor="#D95319",MarkerSize=5)
Arguments d'entrée
planner1
— Un* planificateur de chemin
Objet plannerAStar
Un* planificateur de chemin, spécifié comme objet plannerAStar
.
Arguments de sortie
planner2
— Copie du planificateur de chemin A*
Objet plannerAStar
Copie du planificateur de chemin A*, renvoyée sous forme d'objet plannerAStar
.
Capacités étendues
Génération de code C/C++
Générez du code C et C++ avec MATLAB® Coder™.
Historique des versions
Introduit dans R2023a
Voir aussi
Commande MATLAB
Vous avez cliqué sur un lien qui correspond à cette commande MATLAB :
Pour exécuter la commande, saisissez-la dans la fenêtre de commande de MATLAB. Les navigateurs web ne supportent pas les commandes MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)