Utilizing sqrt and square, "Check for incorrect argument data type or missing argument in call to function 'sqrt'"

16 visualizaciones (últimos 30 días)
I am currently trying to create an expression
where Ix, and Iy are 100x100 uint8 matrixes
X = sqrt((Ix^2)+(Iy^2))
However I get "Check for incorrect argument data type or missing argument in call to function 'sqrt'"
I am wondering what is wrong here, additionally should I be using element power ".^" instead of "^"?
  2 comentarios
VBBV
VBBV el 30 de Sept. de 2021
Editada: VBBV el 30 de Sept. de 2021
you can check, if Ix and Iy have been used elsewhere in your function call /scripts for different purpose

Iniciar sesión para comentar.

Respuestas (1)

Rik
Rik el 30 de Sept. de 2021
Editada: Rik el 30 de Sept. de 2021
As Stephen mentioned, the sqrt function expects either single or double. So you will have to convert it to either of those data types.
Additionally, you probably want to use .^ as that would make the square element-wise. If you don't, it makes more sense you want sqrtm instead.
X = sqrt(double( (Ix.^2)+(Iy.^2) ));
You could also consider hypot to do this computation.
help hypot
HYPOT Robust computation of the square root of the sum of squares C = HYPOT(A,B) returns SQRT(ABS(A).^2+ABS(B).^2) carefully computed to avoid underflow and overflow. A and B must have compatible sizes. In the simplest cases, they can be the same size or one can be a scalar. Two inputs have compatible sizes if, for every dimension, the dimension sizes of the inputs are either the same or one of them is 1. Example: format short e a = 3*[1e300 1e-300] b = 4*[1e300 1e-300] c1 = sqrt(a.^2 + b.^2) c2 = hypot(a,b) x = 1.271161e308 y = hypot(x,x) Class support for inputs A, B: float: double, single See also ABS, NORM, SQRT. Documentation for hypot doc hypot Other functions named hypot codistributed/hypot gpuArray/hypot sym/hypot

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by