Why getting this error ? how to fix it ?

1 view (last 30 days)
Bob
Bob on 15 Mar 2019
Commented: Jan on 19 Mar 2019
Hi all,
I am trying to achive coeffcient correlation but getting erorr "Unable to perform assignment because the indices on the left side are not compatible with the
size of the right side".
Following function being used:
for i=1: length(a_sw)-300
x(i)= corrcoef(a_sw (i:i+300), b_sw(i:i+300));
Time_x=i;
end
figure(1)
plot(a_sw,b_sw,'ko',a_sw,b_lin,'r');
xlabel('A')
ylabel('B')
Any help would be appreciated.
Thanks
  5 Comments
Alex Mcaulley
Alex Mcaulley on 15 Mar 2019
Yes, unless a_sw and b_sw were scalars
Jan
Jan on 19 Mar 2019
@Bob: If you really appreciate the help of the forum, do not delete your question after solutions have been posted.

Sign in to comment.

Accepted Answer

Alex Mcaulley
Alex Mcaulley on 15 Mar 2019
Edited: Alex Mcaulley on 15 Mar 2019
As Adam said, probably your a_sw and b_sw are arrays and then the output of this
corrcoef(a_sw (i:i+300), b_sw(i:i+300));
is a matrix.
Then, to store those matrix you can use, for example, a cell array:
for i=1: length(a_sw)-300
x{i}= corrcoef(a_sw (i:i+300), b_sw(i:i+300));
Time_x=i;
end
figure(1)
plot(a_sw,b_sw,'ko',a_sw,b_lin,'r');
xlabel('A')
ylabel('B')

More Answers (0)

Categories

Find more on Introduction to Installation and Licensing 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!