MATLAB: Problems using polyfit in a for loop

arrayfor looppolyfit

I am getting an error when I try to run this polyfit. I think the problem is the values I am putting for xfit1 in the polyfit formula. What values should I put for xfit1 to fix my code?
Error Message: Error using polyfit (line 50) X and Y vectors must be the same size.
My Code:
Z=[3 1];
for i=1:length(Z);
A(i)=Z(i)+2;
B(i)=Z(i)-7;
xfit=[0 1];
yfit1(:,i)=[A(i),B(i)]
pfit1(:,i)=polyfit(xfit1,yfit1(:,i),1);
end

Best Answer

You had the indexing reversed in ‘yfit1’ and ‘pfit1’. This works:
Z=[3 1];
for i=1:length(Z);
A(i)=Z(i)+2;
B(i)=Z(i)-7;
xfit1=[0 1];
yfit1(i,:)=[A(i),B(i)];
pfit1(i,:)=polyfit(xfit1,yfit1(i,:),1);
end