Hola Jose.
Al final de la subrutina (del boton "quitar accesorio" ) agregue lo siguiente:
set(handles.acc_seleccionados,' value',1)
De manera que después de borrar vuelva automáticamente al primer elemento de la lista. Por ahora funciona perfecto.
Lo hice para las dos listas, pero cuando empecé a pulir todo, concatene ambos valores (el nombre del accesorio y su cantidad) en una sola lista (listas_concatenadas), asi que borré la que estaba de mas, y adapté tu código para la nueva lista.
Las concatené asi:
for i=1:length(accesorios_elegidos)
listas_concatenadas{i} = sprintf ( ' %s %d ', accesorios_elegidos{i}, vector_cant(i))
end
set (handles.acc_seleccionados, 'string', listas_concatenadas' )
Y la subrutina completa para borrar quedó así:
global listas_concatenadas
seleccion = get ( handles.acc_seleccionados,' value' )
listas_concatenadas(selecc) = [ ]
set ( handles.acc_seleccionados, 'string', listas_concatenadas)
set(handles.acc_seleccionados,'value',1)
Asi que de nuevo, muchisimas gracias 