Poker hand ranker
No License
A function that evaluates poker hands and returns a numerical rank and text description for each. The list of cards used to make the best possible hand is returned in 'usedcards'. If handsize is smaller than the length of hands given, then the cards not used in the best possible hand are returned in 'unusedcards'. Rank of 1 is best (Royal Flush), higher numbers are worse. Rank values are not contiguous across all hands, but are correctly ordered.
The hand matrix expected is an mxn list of m hands with n cards. The cards are numbered from 1 to 52. Suit doesn't matter for ranking. Order of the cards in the input vector does not matter. Numbering starts with the Ace at position 1. Here is a suggested card assignment:
A | K | Q | J | 10| 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Suit
-------------------------------------------------------------
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10| 11| 12| 13| Spades
14| 15| 16| 17| 18| 19| 20| 21| 22| 23| 24| 25| 26| Hearts
27| 28| 29| 30| 31| 32| 33| 34| 35| 36| 37| 38| 39| Clubs
40| 41| 42| 43| 44| 45| 46| 47| 48| 49| 50| 51| 52| Diamonds
Example call to the function:
trick = [33,3,43,1,25,4,19;
6,36,20,10,35,21,38;
45,31,51,40,37,22,26;
28,49,46,32,17,16,39];
[ranks,descriptions,usedcards,unusedcards] = rankp(trick,2);
Cite As
Rob Slazas (2024). Poker hand ranker (https://www.mathworks.com/matlabcentral/fileexchange/17579-poker-hand-ranker), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxTags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 | revision 5 - fixed a conditional error in the numerical ranking section, thanks to Tim C. for testing it. |