What is the meaning of this statement: M1 = txyz'/trgb';

1 view (last 30 days)
I am given two matrices:
trgb = rgb([14:23 26:35 38:47 50:59 62:71 74:83 86:95 98:107 110:119 122:131 134:143 146:155 158:167 170:179 182:191 194:203 206:215],:)/255;
txyz = xyz([14:23 26:35 38:47 50:59 62:71 74:83 86:95 98:107 110:119 122:131 134:143 146:155 158:167 170:179 182:191 194:203 206:215],:);
The next instruction reads :
% find the linear transform between trgb and txyz
M1=txyz'/trgb';

Answers (1)

Star Strider
Star Strider on 10 Mar 2021
The ‘trbg’ assignment passes that vector to either function ‘rgb’ or as indices into array ‘rbg’ and returns the result, then divides it by 255, apparently to normalise it. The ‘txyz’ assignment does something similar, without the division at the end. The ‘M1’ assignment uses a complex-conjugate transpose (a simple transpose if these are all real numbers) and then uses matrix right division to return an array result.
  2 Comments
Roger Breton
Roger Breton on 10 Mar 2021
Wow! Thank you!!!! Star Strider!! A "complex-conjugate transpose". There are all real numbers as far as I can tell (I'm no mathematician). A matrix "right division"? I'll have to look that up! Thank you so much for your kind assistance -- kudo to you :-)
Star Strider
Star Strider on 10 Mar 2021
I can help with that, too. See the documentation for mrdivide,/ for information on the function and operator and how to use them.
I very much appreciate your compliment!
If my Answer helped you solve your problem, please Accept it!
.

Sign in to comment.

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Tags

Products


Release

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!