Not enough input arguments error

Hi all; I am plotting data from excel file by using MATLAB these data are:
x-Axis = time (from excel)
y-Axis = power (from excel)
but I am getting this error while plotting:
Not enough input arguments.
my code is :
[num,T,vT] = xlsread('Excel.xlsx','Sheet1'); % read excel
x= datestr(num(:,1),('HH:MM')); % time column
y = num(:,4); % power column
plot(handles.axes8,x,y);
why I am getting this error ? and how to solve it ?? please please help and advice... thank you very much

3 Comments

what happens when you type plot(x,y) ?
Don't paraphrase it. Copy and paste all, yes ALL, the red text.
this is the all red message:
??? Error using ==> plot Not enough input arguments.
Error in ==> simpletab>pushbutton1_Callback at 1600 plot(handles.axes8,x1,y);
Error in ==> gui_mainfcn at 96 feval(varargin{:});
Error in ==> simpletab at 18 gui_mainfcn(gui_State, varargin{:});
??? Error while evaluating uicontrol Callback

Sign in to comment.

 Accepted Answer

the problem been solved by using (datetick), as following code:
[num,T,vT] = xlsread('Excel.xlsx','Sheet1'); % read excel
x = num(:,1); % Time column
y = num(:,4); % power column
plot(handles.axes,x,y);
datetick(handles.axes8,'x',15)

More Answers (1)

when I am using this code :
[num,T,vT] = xlsread('Excel.xlsx','Sheet1'); % read excel
x = num(:,1); % Time column
y = num(:,4); % power column
x1= datenum(x,'HH:MM');
plot(handles.axes8,x1,y);
I am getting this error:
??? DATENUM failed.
Error using ==> datenum at 103
The input to DATENUM was not an array of strings.
why this error is happen ??

3 Comments

The first output returned by xlsread is always a numeric array. You are then taking a portion of that numeric array and attempting to convert it to a date number as if it is a string. But it isn't a string.
Perhaps you should be passing T(:,1) in to datenum()
I have tired this way before as well, but the error comes is :
??? DATENUM failed.
Error using ==> dtstr2dtnummx
Failed on converting date string to date number.
Your code in your original Question shows you passing part of "num" to datenum(), rather than passing part of "T" to datenum(). Have you tried with "T" ? Could you show an example string that you are passing to datenum() ?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!