Code covered by the BSD License  

Highlights from
Fit Multi Dimensional Polynomial

from Fit Multi Dimensional Polynomial by Yohanan Sivan
The example fits between CMYK to LAB. It assume that LAB is a polynomial function of CMYK.

mat=vanMat4dim(cmyk,deg)
function mat=vanMat4dim(cmyk,deg)
m=0;
tmp=zeros(size(cmyk,1),(deg+1)^4);
for m1=0:deg
    for m2=0:deg
        for m3=0:deg
            for m4=0:deg
                if m1+m2+m3+m4>deg, continue; end
                m=m+1;
                tmp(:,m)=(cmyk(:,1).^m1);
                tmp(:,m)=tmp(:,m).*(cmyk(:,2).^m2);
                tmp(:,m)=tmp(:,m).*(cmyk(:,3).^m3);
                tmp(:,m)=tmp(:,m).*(cmyk(:,4).^m4);
            end
        end
    end
end
mat=tmp(:,1:m);

Contact us at files@mathworks.com