In an assignment A(I) = B, the number of elements in B and I must be the same.

2 views (last 30 days)
How to get rid of this error!! this is my code below for
for i = 18:-1:13
test=ff(i)
[B,A] = oct3dsgn(ff(i),Fs,N);
if narg
y = filter(B,A,x);
test=sum(y)
P(i) = sum(y.^2)/m;
  3 Comments
Satya Narayaan Rao
Satya Narayaan Rao on 11 Jul 2013
Ya Y is a complex number a+Bi so does it occupy more than one cell after performing the operation and Y is a row matrix.
i am squaring all the elements and then summing them so do need to assign different memory allocation different
Satya Narayaan Rao
Satya Narayaan Rao on 11 Jul 2013
pi = 3.14159265358979;
Fs = 25600; % Sampling Frequency
N = 3; % Order of analysis filters.
F = [ 50 100 125 160, 200 250 315, 400 500 630, 800 1000 1250, ... 1600 2000 2500, 3150 4000 5000 ]; % Preferred labeling freq.
ff = (1000).*((2^(1/3)).^[-10:7]); % Exact center freq. P = zeros(1,18);
P=double(P);
if narg
m = length(x);
end;
% Design filters and compute RMS powers in 1/3-oct. bands % 5000 Hz band to 1600 Hz band, direct implementation of filters. BB=[];
AA=[];
for i = 18:-1:13
test=ff(i)
[B,A] = oct3dsgn(ff(i),Fs,N);
if narg y = filter(B,A,x);
test=sum(y.^2);
P(i) =test/m;

Sign in to comment.

Answers (1)

Tom Lane
Tom Lane on 11 Jul 2013
If the variable y is not a vector (if it is a matrix with more than 1 row and column), then sum(y.^2) is not a scalar. It looks like you are trying to assign it into a single element of P.

Tags

No tags entered yet.

Community Treasure Hunt

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

Start Hunting!