Cómo encontrar el valor absoluto de un vector en MATLAB

Que yo sepa, no hay ninguna función que haga esto por usted. Entonces para calcular

[matemáticas] | \ mathbf {x} | = \ sqrt {\ sum x_i ^ 2} [/ matemáticas]

solo puedes escribir

absolute_value = sqrt (sum (abs (x). ^ 2))

Veamos paso a paso las funciones utilizadas, con el vector de ejemplo x = [- 1,4, -2]

abs (x) = [1,4,2] da los valores absolutos de cada elemento, solo necesita este paso si tiene números complejos en su vector.

. ^ 2 es la potencia por elementos, por lo tanto obtenemos abs (x). ^ 2 = [1,16,4]

sum () simplemente suma todos los elementos del vector. suma (abs (x). ^ 2) = 21

y finalmente sqrt () da la raíz cuadrada, por lo tanto, el resultado final es 4.5826

Tenga en cuenta que este enfoque es independiente de la longitud del vector y también más rápido que recorrer el vector con un bucle for o similar.

Probablemente esté buscando la función ‘abs’ o la función ‘norma’, dependiendo de lo que quiera decir con valor absoluto.

Si desea el valor absoluto de entrada del vector (es decir, dado un vector x, desea obtener y donde cada entrada de y es igual al valor absoluto de la entrada correspondiente de x), puede usar la función ‘ abdominales’:

y = abs (x)% x es un vector, y es un vector

Consulte la documentación de ‘abs’ aquí: valor absoluto y magnitud compleja.

Si desea la longitud del vector, puede usar la función ‘norma’:

y = norma (x)% x es un vector, y es un escalar no negativo

Tenga en cuenta que ‘norma’ puede tomar un argumento escalar opcional adicional ‘p’ que le permite especificar qué tipo de norma usar (sí, lo sé, para p <1, técnicamente ya no es una norma, pero aún puede calcular el valor ...) Si no proporciona p, el cálculo continúa con p = 2. Consulte la documentación de 'norma' aquí: normas vectoriales y matriciales.