I didn't understand how put the inputs in tprod function
Mostrar comentarios más antiguos
How have I to put the input in tprod to have the same result of the code that follows?
a=rand(3,4,5);
b=rand(4,6);
for i=1:5
c(:,i,:)=a(:,:,i)*b;
end
[edit: matrix dimension corrected]
Respuestas (2)
Fangjun Jiang
el 19 de Ag. de 2011
a=rand(3,4,5);
b=rand(3,4);
c=zeros(size(a));
for i=1:5
c(:,:,i)=a(:,:,i).*b;
end
Or do you mean this link? There is a 3-D example there. http://www.mathworks.com/matlabcentral/fileexchange/16275-tprod-arbitary-tensor-products-between-n-d-arrays/content/tprod.m
Okay, I tried, it should be like below. The original tprod.m does contain incorrect examples.
%%Your code
a=rand(3,4,5);
b=rand(4,6);
for i=1:5
c(:,i,:)=a(:,:,i)*b;
end
% use tprod
Z=tprod(a,[1 -1 2],b,[-1 3]);
err=abs(Z-c);
err=sum(err(:))
err =
0
3 comentarios
Francesco
el 19 de Ag. de 2011
Fangjun Jiang
el 20 de Ag. de 2011
That is the problem! You need to at least provide some explanation about tprod. It's not a MATLAB function anywhere. Do you mean this?
http://www.mathworks.com/matlabcentral/fileexchange/16275
Francesco
el 20 de Ag. de 2011
Walter Roberson
el 19 de Ag. de 2011
0 votos
What is "tprod" ? It does not seem to be indexed on the MATHWORKS web site.
Your code produces an error, as at each step you are attempting to do a matrix multiplication of a 3 x 4 matrix, by a 3 x 4 matrix. Either you need to use .* to do element-by-element multiplication, or you need to change your formula.
1 comentario
Francesco
el 20 de Ag. de 2011
Categorías
Más información sobre Vibration Analysis en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!