Meaning of the if statement
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Muhtasim Haque Nahian
el 19 de Abr. de 2021
Comentada: Muhtasim Haque Nahian
el 9 de Mayo de 2021
function z = in_prod(x,y)
if size(x,2)==size(y,1)
z=x*y
else
z = "The inner dimensions are " + size(x,2) + " and " + size(y,1) + ". Matrix multiplication is not possible";
end
- Can anyone explain me the meaning of this if statement please?
- More specifically, why size(x,2) and size(y,1)? Why not size(x,any other value)?
TIA!
1 comentario
Stephen23
el 19 de Abr. de 2021
"More specifically, why size(x,2) and size(y,1)?"
Because matrix multiplication is only defined when those dimensions are equal:
"Why not size(x,any other value)?"
Because matrix multiplication is only defined for 2D matrices.
Respuestas (1)
David Fletcher
el 19 de Abr. de 2021
Editada: David Fletcher
el 19 de Abr. de 2021
The if statement is checking that the number of columns in x (the number two in the argument of size is specifying that the function returns the number of columns) matches the number of rows in y (the number one in the argument of size is specifying that the function returns the number of rows). This ensures that matrix multiplication can be applied to x and y. If the inner dimensions do not match, the matrices cannot be multiplied.
Ver también
Categorías
Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!