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
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.

  13 Comments

Asadullah Khalid
Asadullah Khalid on 31 Mar 2020
Hello.
I have provided all the details (data and the code) but I still haven't received any answer. Can anyone guide me on this?
Asadullah Khalid
Asadullah Khalid on 8 Apr 2020
Hello, Can anyone help me in debugging the code mentioned in this post?

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.