Implementación eficiente de votos de mayoría ponderada multiclase en MATLAB

Durante unos días, me preguntaba cómo implementar de manera eficiente la mayoría de los votos de m expertos en matlab. Aquí hay un ejemplo de lo que quiero. Supongamos que tenemos 3 expertos con pesos vectoriales.

w=[7 2 6]

Supongamos que votan n veces en las opciones A / B / C / D, así que, por ejemplo, obtenemos la siguiente matriz de votación n x m, donde las columnas son votos de cada experto.

A B B
C A A
D B A
A A C

Ahora me gustaría encontrar el voto mayoritario ponderado para cada fila. Lo calculamos agregando los pesos de los expertos que votaron por cada opción y seleccionando el peso máximo. Por ejemplo, en la primera fila, la opción A tiene un peso acumulado de 7 (voto del experto 1) y B tiene un peso acumulado de 8 (votos del experto 2 y 3), y por lo tanto el voto final es B. Siguiendo la matriz de ponderaciones acumulativas y votos finales:

A B C D
- - - -
7 8 0 0 -> B
8 0 7 0 -> A
6 2 0 7 -> D
9 0 6 0 -> A

Ahora, la implementación de este uso de bucles sobre el número de filas n es más o menos sencilla. Ahora estoy buscando una solución que no requiera este bucle potencialmente largo y, en cambio, utilice la aritmética vectorial. He tenido algunas ideas, pero tuve algunos problemas con cada una de ellas, por lo que no las mencionaré ahora. Si alguien ha tenido una situación similar antes, comparta sus soluciones.

Gracias.

Respuestas a la pregunta(1)

Su respuesta a la pregunta