Random dot product tricks
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Jesse
el 27 de Sept. de 2013
Comentada: Jesse
el 29 de Sept. de 2013
Greetings again,
I have two arrays:
x = [1.3, 5.6, 7.8, -6.5, 0.3]
y = [134.2, 8786.98, -22.4, 4553518.6, 0.0019]
Now, I know how to do the dot product
a=dot(x,y)
and the reverse (i.e, the first dot product has the summation from 1 to 5, but the reverse is 5 to 1),
so
xback = fliplr(x);
yback = fliplr(y);
b=dot(x,y)
but what about largest-to-smallest order dot produc? Is there anyway to organize that in MATLAB from the original arrays?
I didn't know if this was with the sort command.
Thanks!
0 comentarios
Respuesta aceptada
Walter Roberson
el 27 de Sept. de 2013
Editada: Walter Roberson
el 27 de Sept. de 2013
xy = x.*y;
dotxy = sum(sort(xy(xy>0), 'descend')) + sum(sort(xy(xy<0)));
Más respuestas (1)
Azzi Abdelmalek
el 27 de Sept. de 2013
Editada: Azzi Abdelmalek
el 27 de Sept. de 2013
If you sort a or b or both the result will be different.
Maybe you want to do other thing. Clarify what you want to achieve
% dot(a,b) is the same then sum(a.*b)
3 comentarios
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!