tl:dr:
Maths ahead: You've been warned.
First off, I know there's a thread about whether or not this feature is broken as it relates to giving away a man or zone defensive call. This thread isn't about that. I want to show what's happening when it's working properly. Personally I didn't see any odd behavior of the bar while I was testing - pretty much everything I expected to happen did once I had the formulas figured out.
So with that out of the way...
As you guys probably know, the WR/CB Matchup bar appears when you hold R2 (or right trigger on 360) and shows how a particular WR squares up with the CB directly across from him. And it always shows the matchup from the receiver's point of view, that is, positives will always be good for the WR and negatives will be good for the CB. What you may not realize is that there's more to that rating comparison than it appears - this becomes pretty obvious if you look at the speed part of the bar, then compare the WR's and CB's Speed ratings to each other. Most of the time, they're not going to match. That's because there's another rating behind that calculation, and they're BOTH playing into it.
It's acceleration. Sure, it makes sense and it was the very first thing I checked on, but with the way EA's ratings go sometimes it wasn't exactly a sure thing.
There's one other part of the bar that has a second rating tied to it, and in this case it's different for both the WR and CB. The Route Running calculation uses a WR's Agility in addition to RTE, and the CB's AGI in addition to MCV. Man coverage is used because the matchup bar is a head-to-head comparison.
For these two comparisons, each of the two ratings involved is worth half of a point on the bar. For example, if you have a WR and CB with equal ratings across the board, except for a 1 point difference in Speed, you'll still see zeroes across the board on the bar. Make that a 2 point speed difference (tipped toward the WR), you'll see a 1 on Speed, meaning the WR has an advantage.
Basically you're going to add the two relevant ratings together for each player, compare the sum with the other player's (subtract, in other words), and divide by 2. But there's one other thing you have to do - deal with odd numbers. Remember I said the bar only registers a change on 2 points and not 1? The game rounds down to keep decimals off of the bar. That means you knock a point off the sum of the two ratings if it's odd.
So, once you know this, you can pretty easily apply it to any WR/CB matchup. Here's one example, with ND's WR #7 vs. Clemson's CB #21:
Notre Dame WR #7
SPD 88
ACC 90
Height 5'11
RLS 61
RTE 90
AGI 90
Clemson CB #21
SPD 91
ACC 94
Height 5'10
PRS 91
MCV 91
AGI 92
Matchup: Speed -3, Height 1, Release -30, Route Running -1
Speed: 88 + 90 vs. 91 + 94
178 - 185 (-1 for odd, so 184) = -6
Divide by 2 =
-3 for the WR
Height: 5'11 vs. 5'10 =
+1 for the WR
Release: 61 vs. 91 =
-30 for the WR (Ouch!)
Route Running: 90 + 90 vs. 91 + 92
180 - 183 (-1 for odd, so 182) = -2
Divide by 2 =
-1 for the WR
I've checked this with several matchups on various teams and so far it's held up, enough for me to post this publicly. I don't believe there are any other ratings which influence these matchups, as I tested every rating I thought could possibly be relevant with a created CB and WR matchup of entirely equal ratings (except the one I was testing at the time). Several things I thought might have an impact such as Awareness, Strength (for Press/Release), Jumping (for Height), Zone Coverage, etc. did not change the bar. It's important to note the bar is only there as a guide though - Just because a rating isn't factoring into the bar doesn't mean it's not being used at all.