Keep getting error in polyfit

>> 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

 Risposta accettata

JFz
JFz il 26 Ott 2015

0 voti

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 Commento

JFz
JFz il 26 Ott 2015
Thanks to Image and Star both for the help.

Accedi per commentare.

Più risposte (1)

Image Analyst
Image Analyst il 26 Ott 2015
Modificato: Image Analyst il 26 Ott 2015
What does this say?
whos x
class(x)
whos y
class(y)
which -all polyfit

4 Commenti

Thank you so much for your quick reply. I typed the commands and here are results: whos x Name Size Bytes Class Attributes
x 1000x1 126012 cell
which -all polyfit
C:\Program Files\MATLAB\R2014b\toolbox\matlab\polyfun\polyfit.m
Like I thought, it wasn't a vector of numbers, but of strings.
Well, all it said was ‘cell’. That could be anything.
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.

Accedi per commentare.

Tag

Non è stata ancora inserito alcun tag.

Richiesto:

JFz
il 26 Ott 2015

Commentato:

il 26 Ott 2015

Community Treasure Hunt

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

Start Hunting!

Translated by