Error using interp1 with cell data

1 view (last 30 days)
I have a .txt file with two columns of data. I run the following to open it and assign x and y:
%Open file and extract x and y data
fid=fopen(fileput,'r');
data=textscan(fid,'%d %d','headerlines',1);
x=data{1};
y=data{2};
fclose(fid);
My problem is when I attempt to use interp1 to find a value...
>> interp1(x,y,100)
Error using interp1 (line 130)
Values must be of type double or single.
I'm assuming it's got something to do with how I've assigned x and y, I've tried cell2mat(x) and got this error:
>> cell2mat(x)
Cell contents reference from a non-cell array object.
Error in cell2mat (line 42)
cellclass = class(c{1});

Accepted Answer

Image Analyst
Image Analyst on 29 Apr 2015
What is data? Is it a cell array instead of an N by 2 array of doubles? If that's the case, you might try
x = data{:, 1}; % Extract contents of column 1
y = data{:, 2}; % Extract contents of column 2
If that doesn't work, show us what this displays in the command window:
whos data
whos x
whos y
  6 Comments
Jorge Bastillo
Jorge Bastillo on 29 Apr 2015
WOW... changing it to %f worked.
Thanks guys!

Sign in to comment.

More Answers (0)

Categories

Find more on Characters and Strings 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!