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

 採用された回答

JFz
JFz 2015 年 10 月 26 日

0 投票

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 件のコメント

JFz
JFz 2015 年 10 月 26 日
Thanks to Image and Star both for the help.

サインインしてコメントする。

その他の回答 (1 件)

Image Analyst
Image Analyst 2015 年 10 月 26 日
編集済み: Image Analyst 2015 年 10 月 26 日

0 投票

What does this say?
whos x
class(x)
whos y
class(y)
which -all polyfit

4 件のコメント

JFz
JFz 2015 年 10 月 26 日
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
Image Analyst
Image Analyst 2015 年 10 月 26 日
Like I thought, it wasn't a vector of numbers, but of strings.
Star Strider
Star Strider 2015 年 10 月 26 日
Well, all it said was ‘cell’. That could be anything.
Image Analyst
Image Analyst 2015 年 10 月 26 日
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.

サインインしてコメントする。

カテゴリ

タグ

タグが未入力です。

質問済み:

JFz
2015 年 10 月 26 日

コメント済み:

2015 年 10 月 26 日

Community Treasure Hunt

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

Start Hunting!

Translated by