polyfit whats wrong?
Show older comments
x = [0;0.25;0.5;0.75;1;1.25;1.5;1.75;2;2.25;2.5;2.75;3]
y = [0.652;0.217;0.264;0.0689;-0.183;0.209:0.529;0.689;1.18;1.48;2.21;3.09;3.64;]
p1 = polyfit( x, y, 4)
why isn´t this working?
Answers (1)
Star Strider
on 21 Dec 2020
‘why isn´t this working?’
It should throw an error telling you exactly what the problem is. When I ran the code you posted, the result was:
Error using polyfit (line 44)
The first two inputs must have the same number of elements.
Here, ‘x’ is a (13x1) vector and ‘y’ is a (12x1) vector.
They have to have the same numbers of elements. It appears that an element is missing from ‘y’.
7 Comments
Joao Mendes
on 21 Dec 2020
Joao Mendes
on 21 Dec 2020
Star Strider
on 21 Dec 2020
That works!
If you want to also see the plot:
x = [0;0.25;0.5;0.75;1;1.25;1.5;1.75;2;2.25;2.5;2.75;3];
y = [0.652;0.217;0.264;0.0689;-0.183;0.209; 0.529;0.689;1.18;1.48;2.21;3.09;3.64;];
p1 = polyfit( x, y, 4);
yv = polyval(p1, x);
figure
plot(x, y, 'p')
hold on
plot(x, yv, '-r')
hold off
grid
.
Joao Mendes
on 21 Dec 2020
Joao Mendes
on 21 Dec 2020
Star Strider
on 21 Dec 2020
You have a script that you named ‘polyfit’. That’s the problem.
The solution is to change the name of your script to something like ‘mypolyfit’ or something else that makes sense in the context of whatever you’re doing.
Categories
Find more on Array and Matrix Mathematics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!