Keep getting error in polyfit

8 views (last 30 days)
JFz
JFz on 26 Oct 2015
Commented: Image Analyst on 26 Oct 2015
>> x = table2array(Test1_x);
>> y = table2array(Test1_y);
I keep getting this error in polyfit. Here is the code and output from Matlab during a simple test. x and y should be arrays of real numbers.
-----------------------------------------
>> poly_fit_coef = polyfit(x, y, 1);
Error using ones
CLASSNAME input must be a valid numeric class name.
Error in polyfit (line 59)
V(:,n+1) = ones(length(x),1,class(x));
--------------------------------------
What is wrong here?
Thanks in advance for any help!
Jennifer

Accepted Answer

JFz
JFz on 26 Oct 2015
I just got it! My x and y arrays have strings in them. I converted the strings to numbers and it worked!
x_d = str2double(x); y_d = str2double(y); poly_fit_coef = polyfit(x_d, y_d, 1);
  1 Comment
JFz
JFz on 26 Oct 2015
Thanks to Image and Star both for the help.

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 26 Oct 2015
Edited: Image Analyst on 26 Oct 2015
What does this say?
whos x
class(x)
whos y
class(y)
which -all polyfit
  4 Comments
Star Strider
Star Strider on 26 Oct 2015
Well, all it said was ‘cell’. That could be anything.
Image Analyst
Image Analyst on 26 Oct 2015
True. Since it came from table2array(), and we knew it wasn't a double, single, or an integer because it said "CLASSNAME input must be a valid numeric class name.", the most likely option that it would be is a cell array. Any cell array would generate this error - a cell array of strings, doubles, integers, etc.

Sign in to comment.

Categories

Find more on Numeric Types in Help Center and File Exchange

Tags

No tags entered yet.

Community Treasure Hunt

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

Start Hunting!