Contenido principal

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la última versión en inglés.

removeNode

Eliminar nodo del gráfico factorial

Desde R2024a

    Descripción

    removeNode(fg,nodeID) elimina el nodo especificado del gráfico de factores, elimina cualquier factor conectado a ese nodo y elimina cualquier nodo que se desconecte de cualquier factor en el proceso de eliminación de nodos.

    removedNodeIDs = removeNode(fg,nodeID) devuelve los ID de todos los nodos eliminados junto con el ID de nodo especificado.

    ejemplo

    [removedNodeIDs,removedFactorIDs] = removeNode(fg,nodeID) también devuelve los identificadores de los factores que se eliminaron junto con los nodos especificados.

    ejemplo

    Ejemplos

    contraer todo

    Importe un gráfico de factores con cinco nodos de pose 2D y luego visualice el gráfico de factores.

    fg = importFactorGraph("fiveNodeFactorGraph.g2o");
    show(fg,Legend="on");
    title("Five-Node Factor Graph")

    Figure contains an axes object. The axes object with title Five-Node Factor Graph contains 2 objects of type line. One or more of the lines displays its values using only markers These objects represent Pose Node, Pose Edge.

    lim = axis; 

    Obtenga todos los identificadores de nodos de pose 2-D del gráfico y elimine el primer nodo en el gráfico de factores.

    ids = nodeIDs(fg,NodeType="POSE_SE2")
    ids = 1×5
    
         1     2     3     4     5
    
    
    [removedNodeID,removedFactorID] = removeNode(fg,ids(1))
    removedNodeID = 
    1
    
    removedFactorID = 
    0
    

    Tenga en cuenta que removeNode eliminó el primer nodo, junto con el factor relacionado con él. Muestre nuevamente el gráfico de factores para visualizar este cambio.

    show(fg);
    title("Node 0 Removed")
    axis(lim) % Use previous limits for easier comparison

    Figure contains an axes object. The axes object with title Node 0 Removed contains 2 objects of type line. One or more of the lines displays its values using only markers

    Ahora elimine el segundo último nodo en el gráfico de factores.

    nodeToRemove = ids(end-1)
    nodeToRemove = 
    4
    
    removedNodeIDs = removeNode(fg,nodeToRemove)
    removedNodeIDs = 1×2
    
         4     5
    
    

    Tenga en cuenta que esta vez, removeNode eliminó el nodo 4 además del nodo 3. Esto se debe a que el nodo 4 solo está conectado al nodo 3 en el gráfico de factores, por lo que eliminar el nodo 3 dejaría al nodo 4 desconectado del gráfico de factores.

    show(fg);
    title("Node 3 and Node 4 Removed")
    axis(lim);

    Figure contains an axes object. The axes object with title Node 3 and Node 4 Removed contains 2 objects of type line. One or more of the lines displays its values using only markers

    Argumentos de entrada

    contraer todo

    Gráfico factorial, especificado como un objeto factorGraph.

    ID del nodo a eliminar del gráfico factorial, especificado como un entero no negativo o un vector fila de elementos N de enteros no negativos. N es el número total de nodos a eliminar.

    Argumentos de salida

    contraer todo

    Identificadores de los nodos eliminados, devueltos como un vector de elementos M de números enteros no negativos. M es igual a la suma de la longitud de nodeID y cualquier nodo que quedaría completamente desconectado de cualquier factor como resultado de la eliminación de factores durante el proceso de eliminación de nodos.

    Identificadores de los factores eliminados, devueltos como un vector de elementos P de números enteros no negativos. P es el número total de factores eliminados durante el proceso de eliminación de nodos.

    Capacidades ampliadas

    expandir todo

    Historial de versiones

    Introducido en R2024a

    Consulte también

    | | |