Error using polyfit (line 44) The first two inputs must have the same number of elements

3 views (last 30 days)
Youssef Aberkane
Youssef Aberkane on 15 May 2022
Edited: Torsten on 17 May 2022
I don't see where is the problem.
function PolynomeButtonPushed(app, event)
fct = app.LafonctionEditField.Value;
I = linspace(app.MinEditField.Value,app.MaxEditField.Value,app.NombredespointsEditField.Value);
n = app.LodredupolynomeEditField;
polynome = polyfit(I,fct,n);
app.EditField.Value = polynome;
end
end

Answers (2)

Matt J
Matt J on 15 May 2022
The error message has given you a big clue to where the problem is. Did you examine/verify the contents of I and fct to see if they have the same length?
  8 Comments

Sign in to comment.


Matt J
Matt J on 16 May 2022
Take a look at this.
  6 Comments
Torsten
Torsten on 17 May 2022
Is it not possible that you just report the six outputs of the function written to screen (I added three in the code) ?
As far as I can see, "n" is not of class "double", but of class "matlab.ui.control.NumericEditField". This produces one error in polyfit. Do you know how to convert "n" to type "double" ? Most probably, n=double(n) should do in your code. Or use "cast". And most probably, the same is necessary for I.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!