Random dot product tricks
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Jesse
am 27 Sep. 2013
Kommentiert: Jesse
am 29 Sep. 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 Kommentare
Akzeptierte Antwort
Walter Roberson
am 27 Sep. 2013
Bearbeitet: Walter Roberson
am 27 Sep. 2013
xy = x.*y;
dotxy = sum(sort(xy(xy>0), 'descend')) + sum(sort(xy(xy<0)));
Weitere Antworten (1)
Azzi Abdelmalek
am 27 Sep. 2013
Bearbeitet: Azzi Abdelmalek
am 27 Sep. 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 Kommentare
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!