addlink
Sintaxis
Descripción
agrega vínculos entre uno o más pares de estados en el gráfico de entrada especificado como un objeto linkIDs = addlink(graph,statePairs)navGraph.
agrega vínculos entre dos estados en el gráfico y agrega la información de metadatos asociada a la tabla de vínculos del gráfico de entrada. Utilice esta sintaxis cuando la tabla de vínculos tenga varias columnas con metadatos, como linkIDs = addlink(graph,statePairs,metadata1,...metadataN)Weights, además de los pares de estados. Sin embargo, la primera columna de la tabla siempre debe especificar los pares de estados que se conectarán.
[ también devuelve linkIDs,status] = addlink(___)status, que indica si los nuevos enlaces se agregaron correctamente al gráfico. Si los enlaces recién especificados entran en conflicto con los enlaces existentes en el gráfico, la función ignora los enlaces en conflicto y los enlaces existentes permanecen sin cambios.
Ejemplos
Cargue el objeto navGraph en el espacio de trabajo MATLAB ® e inspeccione sus propiedades.
load("navGraphData.mat")
disp(navGraphObj) navGraph with properties:
States: [8×3 table]
Links: [7×3 table]
LinkWeightFcn: @nav.algs.distanceEuclidean
Inspeccione la tabla de estados del gráfico.
disp(navGraphObj.States)
StateVector Name Lanes
_______________________ _____ _____
8 2 0.72176 {'A'} 2
1 1 0.29188 {'B'} 2
7 7 0.91777 {'C'} 2
8 10 0.71458 {'D'} 2
5 1 0.54254 {'E'} 2
3 6 0.14217 {'F'} 2
2 9 0.37334 {'G'} 3
8 7 0.67413 {'H'} 2
Inspeccione la tabla de enlaces del gráfico. La primera columna contiene los índices de los estados de la tabla de estados. Los vectores de dos elementos en la primera columna de la tabla representan los pares de estados que están conectados. Tenga en cuenta que la tabla de enlaces también contiene metadatos 'Weight' y 'Curvature' además de los pares de estados conectados.
disp(navGraphObj.Links)
EndStates Weight Curvature
_________ ______ _________
1 3 1.5089 0.0034635
3 7 8.921 0.0063649
5 4 2.387 0.0060558
6 2 19.452 0.0041751
7 1 38.776 0.0051347
7 8 13.938 0.0076324
8 2 43.893 0.0031493
Mostrar el gráfico.
show(navGraphObj)

Del gráfico se puede inferir que los estados 'D' y 'E' no están conectados a ningún otro estado y no existe ninguna ruta cuando un punto de inicio o de destino se encuentra en uno de estos estados. Para conectar estos estados, utilice la función addlink. Especifique los pares de estados que se conectarán utilizando los índices o los nombres de estados de la tabla de estados.
Especificar índices de estado para agregar enlaces
En la tabla de estados del gráfico de entrada se puede encontrar que los índices para los estados con nombres "E" y "F" son 5 y 6, respectivamente. Especifique estos índices como entrada para conectar los estados "E" y "F".
Id = addlink(navGraphObj,[5 6],2.5,0.001)
Id = 4
Inspeccione la tabla de enlaces actualizada para ver nuevos estados y los metadatos relacionados. Tenga en cuenta que los índices de estado de los nuevos pares de estados se agregan a la quinta fila de la tabla de vínculos. Las entradas de la tabla de enlaces se ordenan según el índice del primer estado de cada par de estados enumerado en la primera columna. Las filas que tienen el mismo índice para el primer estado se ordenan según el índice del segundo estado en cada par de estados.
disp(navGraphObj.Links)
EndStates Weight Curvature
_________ ______ _________
1 3 1.5089 0.0034635
3 7 8.921 0.0063649
5 4 2.387 0.0060558
5 6 2.5 0.001
6 2 19.452 0.0041751
7 1 38.776 0.0051347
7 8 13.938 0.0076324
8 2 43.893 0.0031493
Mostrar el gráfico actualizado. Ahora todos los estados en el gráfico de entrada están conectados, puedes calcular la ruta para cualquier punto de inicio y destino que se encuentre entre estos estados.
show(navGraphObj)

Especifique los nombres de los estados para agregar enlaces
Añade un enlace entre los estados con los nombres "C" y "D". Además del par de estados, también debe especificar el valor de los metadatos Weight y Curvature asociados en la tabla de vínculos.
Id = addlink(navGraphObj,["C" "D"],5,0.004)
Id = 2
Inspeccione la tabla de enlaces actualizada para ver nuevos pares de estados y los metadatos relacionados. Tenga en cuenta que los índices de estado de los nuevos pares de estados se agregan a la segunda fila de la tabla de vínculos.
disp(navGraphObj.Links)
EndStates Weight Curvature
_________ ______ _________
1 3 1.5089 0.0034635
3 4 5 0.004
3 7 8.921 0.0063649
5 4 2.387 0.0060558
5 6 2.5 0.001
6 2 19.452 0.0041751
7 1 38.776 0.0051347
7 8 13.938 0.0076324
8 2 43.893 0.0031493
show(navGraphObj)

Cargue el objeto navGraph en el espacio de trabajo MATLAB ® e inspeccione sus propiedades.
load("navGraphData.mat")
disp(navGraphObj) navGraph with properties:
States: [8×3 table]
Links: [7×3 table]
LinkWeightFcn: @nav.algs.distanceEuclidean
Inspeccione la tabla de estados del gráfico.
disp(navGraphObj.States)
StateVector Name Lanes
_______________________ _____ _____
8 2 0.72176 {'A'} 2
1 1 0.29188 {'B'} 2
7 7 0.91777 {'C'} 2
8 10 0.71458 {'D'} 2
5 1 0.54254 {'E'} 2
3 6 0.14217 {'F'} 2
2 9 0.37334 {'G'} 3
8 7 0.67413 {'H'} 2
Inspeccione la tabla de enlaces del gráfico. La primera columna contiene los índices de los estados de la tabla de estados. Los vectores de dos elementos en la primera columna de la tabla representan los pares de estados que están conectados. Tenga en cuenta que la tabla de enlaces también contiene metadatos 'Weight' y 'Curvature' además de los pares de estados conectados.
disp(navGraphObj.Links)
EndStates Weight Curvature
_________ ______ _________
1 3 1.5089 0.0034635
3 7 8.921 0.0063649
5 4 2.387 0.0060558
6 2 19.452 0.0041751
7 1 38.776 0.0051347
7 8 13.938 0.0076324
8 2 43.893 0.0031493
Mostrar el gráfico. Del gráfico se puede inferir que los estados 'D' y 'E' no están conectados a ningún otro estado y no existe ninguna ruta cuando un punto de inicio o de destino se encuentra en uno de estos estados.
show(navGraphObj)

Añade enlaces entre estos pares de estados:
Estados con nombres "
C" y "D".Estados con nombres "
E" y "F".Estados con nombres "
H" y "D"
Además de los pares de estados, también debe especificar los valores de los metadatos Weight y Curvature asociados en la tabla de vínculos. La función devuelve los índices de los nuevos pares de estados en la tabla de enlaces.
Id = addlink(navGraphObj,["C" "D";"E" "F";"H" "D"],[5;2.5;50],[0.005;0.003;0.004])
Id = 3×1
2
5
10
Inspeccione la tabla de enlaces actualizada para ver nuevos pares de estados y sus metadatos asociados. Tenga en cuenta que los índices de estado de los nuevos pares de estados se agregan a la segunda, quinta y décima fila de la tabla de vínculos. Las entradas de la tabla de enlaces se ordenan según el índice del primer estado de cada par de estados enumerado en la primera columna. Las filas que tienen el mismo índice para el primer estado se ordenan según el índice del segundo estado en cada par de estados.
disp(navGraphObj.Links)
EndStates Weight Curvature
_________ ______ _________
1 3 1.5089 0.0034635
3 4 5 0.005
3 7 8.921 0.0063649
5 4 2.387 0.0060558
5 6 2.5 0.003
6 2 19.452 0.0041751
7 1 38.776 0.0051347
7 8 13.938 0.0076324
8 2 43.893 0.0031493
8 4 50 0.004
Mostrar el gráfico actualizado.
show(navGraphObj)

Argumentos de entrada
Objeto gráfico, especificado como un objeto navGraph.
Tipos de datos: double
Índices o nombres de los estados que se vincularán, especificados como un vector columna de dos elementos, un arreglo de celdas de cadenas de M por 2. Los índices o nombres de los estados que se van a vincular deben tomarse de la tabla de estados del gráfico de entrada. M especifica el número de pares de estados que se van a vincular.
Los valores en el vector columna o matriz pueden ser
Datos numéricos que especifican los índices de los estados a conectar. Por ejemplo, cuando se especifica
statePairscomo [1 3], la función conecta los estados enumerados en la primera y tercera fila de la tabla de estados del gráfico de entrada.Datos de cadena que especifican los nombres de los estados que se conectarán. Por ejemplo, cuando se especifica
statePairscomo ["A" "B"], la función obtiene los estados con los nombres "A" y "B" de la tabla de estados del gráfico de entrada y conecta esos dos estados.
Nota
Si los pares de estados especificados ya existen en la tabla de vínculos del gráfico de entrada, la función no agregará el par duplicado al gráfico.
Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | string | cell
Metadatos que contienen información adicional sobre los vínculos que conectan los estados, especificados como un arreglo numérico, un arreglo de celdas de vectores de caracteres, un arreglo de cadenas o un arreglo de celdas de cadenas.
Tipos de datos: double | string | cell
Argumentos de salida
Identificadores de enlace, devueltos como un vector columna de números enteros positivos. Los identificadores de enlace representan los índices de los pares de estados agregados a la tabla de enlaces del gráfico. La longitud del vector especifica el número de nuevos pares de estados que están vinculados en el gráfico.
La función addlink ordena las filas de la tabla de enlaces en orden ascendente según el índice del primer estado de cada par de estados enumerado en la primera columna de la tabla. Si dos o más filas tienen el mismo índice para el primer estado, la función ordenará esas filas según el índice del segundo estado en cada par de estados.
Desde R2025a
Estado que indica si se agregan nuevos enlaces, devuelto como un vector columna de elemento M que contiene 0 y 1. Cada elemento indica si el enlace correspondiente especificado en el argumento de entrada statePairs se agrega al gráfico (1 para agregado, 0 para no agregado). El tamaño de este vector coincide con el número de pares de estados especificados en statePairs.
La función no agrega enlaces entre el mismo estado (autoenlaces). Si especifica un vínculo entre estados idénticos, la función lo ignora.
Tipos de datos: logical
Capacidades ampliadas
Para la generación de código,
Declare la variable de estados en la tabla
Statesdel objetonavGraphcomo datos de tamaño variable, antes de construir la tabla.coder.varsize("states")No se admiten nombres de estados.
Especifique pares de estados como un arreglo numérico.
Historial de versiones
Introducido en R2024aA partir de R2025a, la función addlink genera un segundo argumento states para indicar que se agregan nuevos enlaces de pares de estados especificados en la entrada statePairs al gráfico.
Consulte también
addstate | rmstate | rmlink | findlink | findstate | index2state | state2index | successors | show | copy
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- 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)