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

Richard
Richard 2012 年 8 月 28 日
what happens when you type plot(x,y) ?
Image Analyst
Image Analyst 2012 年 8 月 28 日
Don't paraphrase it. Copy and paste all, yes ALL, the red text.
Samer Husam
Samer Husam 2012 年 8 月 28 日
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

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

 採用された回答

Samer Husam
Samer Husam 2012 年 9 月 5 日

0 投票

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)

その他の回答 (1 件)

Samer Husam
Samer Husam 2012 年 8 月 29 日

0 投票

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

Walter Roberson
Walter Roberson 2012 年 8 月 29 日
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()
Samer Husam
Samer Husam 2012 年 8 月 29 日
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.
Walter Roberson
Walter Roberson 2012 年 8 月 29 日
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() ?

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

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by