Borrar filtros
Borrar filtros

how to partially multiply two diffferent dimention matrix

1 visualización (últimos 30 días)
kavinda hw
kavinda hw el 14 de Mayo de 2017
Comentada: kavinda hw el 16 de Mayo de 2017
A[1,2500] and B[500,1]. how can i multiply 500 form A with B and then Skip 250 positions from A And multiply with B. e.g.., A[1 to 500]*B => store then A[250 to 750] * B=> store ,like wise
  2 comentarios
John D'Errico
John D'Errico el 14 de Mayo de 2017
Interesting. I wonder why two different people are asking the same question?
kavinda hw
kavinda hw el 16 de Mayo de 2017
this is the key technical part of our home work

Iniciar sesión para comentar.

Respuesta aceptada

Star Strider
Star Strider el 14 de Mayo de 2017
This works:
A = randi(9, 1, 2500); % Create Data
B = randi(9, 500, 1); % Create Data
for k1 = 1:2
Result{k1} = bsxfun(@times, A(1, (1:500)+(k1-1)*250), B);
end
It produces (500x500) matrices. If you what a different result, I need to know what output you want. It will be easy to change my code to produce it.
  2 comentarios
kavinda hw
kavinda hw el 14 de Mayo de 2017
Editada: kavinda hw el 14 de Mayo de 2017
Thank you for quick reply but I need 1x1 matrix
Star Strider
Star Strider el 14 de Mayo de 2017
If you want the dot product (or inner product), change the ‘Result’ assignment to:
Result(k1) = A(1, (1:500)+(k1-1)*250) * B;
That will produce your (1x1) scalar result, as desired.

Iniciar sesión para comentar.

Más respuestas (1)

Michael Saniuk
Michael Saniuk el 14 de Mayo de 2017
>> A = rand(1250,1);
>> B = rand(1,500);
>> C = A(1:500,1).*B';
>> D = A(251:750,1).*B';

Categorías

Más información sobre Multidimensional Arrays 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!

Translated by