MATLAB: How to use loops to reduce the code size

matrix

Thanks a lot

Best Answer

You can try this, I haven't checked working correctly since there is no data.
clc
clear all
C1 = xlsread('data1.xlsx');
y = C1(1:400,13);
R0 = [];
Z = [];
m=1;
for i=5:11
x{m} = C1(1:400,i);
m=m+1;
end
for j = 1:7
for k = 1:7
R(j,k) = mean(x{j}.*x{k});
end
end
for n = 1:7
R0 = [R0; mean(x{n}.*y)];
Z = [Z,x{n}];
end
yFinal = zeros(400,1);
A = pinv(R)*(R0);
for i = 1:7
temp = A(i).*x{i};
yFinal = yFinal+temp;
end