why i'm getting this error?

1 view (last 30 days)
ocsse
ocsse on 25 Mar 2018
Edited: ocsse on 25 Mar 2018
why i'm getting this error: Error using * Inner matrix dimensions must agree.
thanks
  2 Comments
David Fletcher
David Fletcher on 25 Mar 2018
Edited: David Fletcher on 25 Mar 2018
Sounds like you're trying to do inner matrix multiplication rather than element by element multiplication
possibly here: (a line number where the error occurred might be handy)
*an*cos*(2*pi*f0*n.'*t) + *bn*sin*(2*pi*f0*n.'*t
instead of
an.*cos(2*pi*f0*n.'*t) + bn.*sin(2*pi*f0*n.'*t
ocsse
ocsse on 25 Mar 2018
still getting an error

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 25 Mar 2018
Your ‘an’ and ‘bn’ are (1x4) vectors, and ‘t’ is (1x500).
One way to avoid it is to transpose ‘an’ and ‘bn’ to column vectors:
s = s + a0 + an'*cos(2*pi*f0*n.'*t) + bn'*sin(2*pi*f0*n.'*t);
I do not know what you want for a final result. If you want a single row vector for each ‘n’, sum them:
s = s + a0 + sum(an'*cos(2*pi*f0*n.'*t) + bn'*sin(2*pi*f0*n.'*t));

More Answers (0)

Categories

Find more on Time-Frequency Analysis 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!