Why getting this error ? how to fix it ?

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 Commenti

The problem are in those variables. What is the output of this line?
whos a_sw b_sw
corrcoef returns a matrix. You are trying to assign it to x(i) which is a scalar.
Yes, unless a_sw and b_sw were scalars
Jan
Jan il 19 Mar 2019
@Bob: If you really appreciate the help of the forum, do not delete your question after solutions have been posted.

Accedi per commentare.

 Risposta accettata

Alex Mcaulley
Alex Mcaulley il 15 Mar 2019
Modificato: Alex Mcaulley il 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')

Più risposte (0)

Richiesto:

Bob
il 15 Mar 2019

Commentato:

Jan
il 19 Mar 2019

Community Treasure Hunt

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

Start Hunting!

Translated by