Simple array multiplication of incompatible sized arrays
14 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
olivia
el 5 de Sept. de 2023
Comentada: olivia
el 6 de Sept. de 2023
I would like to multiply these two arrays of different size and I am recieving the error :
"Arrays have incompatible sizes for this operation"
which makes sense, researching this question on other forums I found you can "Pad with zeros" and I would like to do that but I don't know how.
NEDsv=NED*SV;
%SV is a 62x3 double
%NED is a 186x3 double
1 comentario
Clay Swackhamer
el 5 de Sept. de 2023
I think matrix multiplication requires that the first matrix must have the same number of columns as the number of rows in the second matrix. So can you just transpose SV like this:
NEDsv = NED * SV'
Respuesta aceptada
dpb
el 5 de Sept. de 2023
Movida: dpb
el 5 de Sept. de 2023
What KIND of "multiply"? "*" is matrix multiplication and
SV=rand(62,3);
NED=rand(186,3);
M=NED*SV.';
whos M
so you can multiply them if you transpose the second...of course, that may not be what you had in mind; you didn't tell us what you expected the result to be, but if one takes the hint about augmenting with zeros, then
M=NED.*[SV;zeros(size(NED,1)-size(SV,1),size(NED,2))];
whos M
Of course, this is <element-wise multiplication>, something much different than <matrix multiplication> and uses the "dot" operator ",*".
3 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Creating and Concatenating 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!