MATLAB Answers

Index exceeds the number of array elements, when trying to plot

1 view (last 30 days)
Asadullah Khalid
Asadullah Khalid on 30 Mar 2020
Commented: Rena Berman on 8 Oct 2020
I am trying to plot multiple plots on a common x-axis. The problem that I am facing is that the size of my data sets (data1, and data2) are different from each other. Also, the length of the data to be used for x-axis is same as data2, but not data1.
This is resulting into the following error:
Index exceeds the number of array elements (683898).
Error in Plot_code
y1 = y1(dum)
data1= Test180diffcap;
data2= Test192diffcap;
data4= timediffcap;
y1=data1{:,1};
y2=data2{:,1};
x=data4{:,1};
[x, dum] = sort(x);
y1 = y1(dum);
[x, dum2] = sort(x);
y2 = y2(dum2);
L(1)=plot(x,y1, 'k','LineWidth',1.5);
hold on
L(2)=plot(x,y2, 'b','LineWidth',1.5);
Any suggestion to resolve this error would be highly appreciated.
  16 Comments

Sign in to comment.

Answers (1)

Hiro
Hiro on 30 Mar 2020
Why not reampling the data to have the same length?
If you have Signal Processing toolbox, then just follow the instruction:
Also interpolation might work as well (available from MATLAB itself):
  1 Comment
Asadullah Khalid
Asadullah Khalid on 30 Mar 2020
I think that I will lose the originality of the data, that I am trying to visualize if I perform sampling.
And I think the interpolation would just add a datapoint from the last values in Test192diffcap and Test180diffcap, but I am actually trying to visualize the data as is.
Please correct me if I understood incorrectly.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!