Al momento, stai seguendo questo contributo
- Vedrai gli aggiornamenti nel tuo feed del contenuto seguito
- Potresti ricevere delle email a seconda delle tue preferenze per le comunicazioni
MATLAB provides a function called hypot to calculate sqrt(abs(A).^2 + abs(B).^2) in a robust way to avoid underflow and overflow (see http://www.mathworks.com/help/techdoc/ref/hypot.html and http://en.wikipedia.org/wiki/Hypot). Frequently, though, I need to make this calculation with more than just two inputs A and B. Say, to compute the magnitude of a vector with three components (x, y, z). So I wrote this function to recursively call MATLAB's hypot function for multiple inputs:
Usage: Y = HYPOTR(X) or Y = HYPOTR(X1, X2, X3, ...)
This function works the same as the built-in MATLAB function hypot but allows for more than two inputs (or a single array) via recursion. The output Y is:
Y = sqrt(sum(X(:).^2)) (for single array X input)
Y = sqrt(X1.^2 + X2.^2 + X3.^2 + ...) (for arrays X1, X2, X3, ... input)
But the computation is done in a more robust way to avoid overflow and underflow (see HYPOT). Note that when multiple arrays are input, they must all be the same size (but any or all of them can also be scalars).
See also: HYPOT.
Cita come
Drew Compston (2026). Recursive HYPOT Function for Multiple Inputs (https://it.mathworks.com/matlabcentral/fileexchange/35403-recursive-hypot-function-for-multiple-inputs), MATLAB Central File Exchange. Recuperato .
Informazioni generali
- Versione 1.2.0.0 (1,52 KB)
Compatibilità della release di MATLAB
- Compatibile con qualsiasi release
Compatibilità della piattaforma
- Windows
- macOS
- Linux
