Problems using polyfit in a for loop

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

 Accepted 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

More Answers (0)

Categories

Asked:

Bob
on 14 Dec 2014

Answered:

on 14 Dec 2014

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!