matlab 程序 解释

老师给了个程序 看的不是很明白 希望高手可以帮我 把意思说下 每行的大概意思 谢谢各位了

function K=Rec_Kernel(A,B,mu);

[ma,na]=size(A);
[mb,nb]=size(B);
rec=1;
if (ma==nb)
if all(all(A==B'))%如果A与B的转置全部相等的话
K=Gaussian_Kernel(A,mu);
rec=0;
end
end
if rec==1 %弄个入口标识啊,如果不相等,rec=1,到下面能指向那段,如果在上面被改变为0,下面的就不执行了啊

if na~=mb
error('non-compatible sizes');
end
I=zeros(ma*nb,1);
p=[1:ma*nb];
I(p) = mod(p,ma);
p=[ma:ma:ma*nb];
I(p)=ma;
J=zeros(ma*nb,1);
p=[1:ma:ma*nb];
J(p)=1;
J=cumsum(J);
Y = (A(I,:)-B(:,J)')';
Y = sum(Y.^2,1);
K=zeros(ma,nb);
K(1:ma*nb) = exp(-mu*Y);
end

第1个回答  2009-10-06
Gaussian_Kernel这个函数是什么
还有这个程序目的是什么
相似回答