我有一个矩阵A:“M x N”。我想在矩阵中运行一个函数,
例如,回归:让每列为Y,其余列为Xs
for i=1:N
Y = A(:,i); % let Y be the "i"th columns
X = A; X(:,i)=[]; % let X be other columns
coef(:,i)=regress(Y,X);
end
我想知道是否有任何matlab函数能够处理循环中的函数
答案 0 :(得分:1)
这应该快得多!
[n_rows, n_cols] = size(A);
ind = true(1,n_cols);
coef2 = zeros(n_cols - 1, n_cols);
for i=1:n_cols
y = A(:,i); % let Y be the "i"th columns
ind(i) = false;
X = A(:,ind); % let X be other columns
coef2(:,i)= X\y;
ind(i) = true;
end
我的代码与您的代码之间存在差异: