How to subtract from a vector a three dimentional matrix
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
gsourop
el 12 de Dic. de 2016
Comentada: Adam
el 12 de Dic. de 2016
Hi everyone,
I have a 1x12 vector and a 3x2x12 matrix, say i x j x t. I want to subtract for each i and for each j the corresponding vector of t. I've tried the following, but it doesn't work.
for t=1:12
for j=1:2; %size(inputs,1);
for i=1:3 %10;
MSFE_i(i,:,j)=mean((y(1:12)'-forecasts_test(i,j,:)).^2);
end
end
end;
any ideas of what i am missing here? Thanks in advance.
0 comentarios
Respuesta aceptada
Adam
el 12 de Dic. de 2016
Editada: Adam
el 12 de Dic. de 2016
for example:
a = ones( 3, 2, 12 );
v = linspace( 0, 1, 12 );
res = reshape( bsxfun( @minus, reshape( a, [], 12 ), v ), [3, 2, 12] );
Obviously you can generalise the hard coded numbers and you don't need all the linspace stuff - I just used that to create a vector for me to subtract and then check the results quickly.
2 comentarios
Adam
el 12 de Dic. de 2016
My v above is 1x12 which is the same as what you said your vector was so you just use your vector instead of my linspace-created vector.
Más respuestas (0)
Ver también
Categorías
Más información sobre Logical 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!