Matrix multiplication error using '.*'

2 views (last 30 days)
AJ Woodson
AJ Woodson on 17 Nov 2020
Answered: Andrei Bobrov on 17 Nov 2020
%so this is my simply code
r = randi(100,66);
t = (0:1/55:1);
e = exp(2*pi*i*13*t);
t = r.*e % this gives me error why is it and how can fix
  4 Comments
KSSV
KSSV on 17 Nov 2020
You see r is a matrix and t is a array..this is what you want?
VBBV
VBBV on 17 Nov 2020
@woodson then you have to divide t into 66. as
%if true
t = 0:1/65:1;
To get what you want.

Sign in to comment.

Answers (3)

madhan ravi
madhan ravi on 17 Nov 2020
t = linspace(0, 1, 66);
  1 Comment
AJ Woodson
AJ Woodson on 17 Nov 2020
Thank you for the response ideally r is signl and e is a Doppler shift so matrix size would be 66x66 to explain further it would be like x = [2 4 5 2 3 5 6] x.*5 and output would be a x = [10, 20, 25 etc. ideal e in my case is just a scalar if I'm making myself clear where in the example r = x and e = 5

Sign in to comment.


Walter Roberson
Walter Roberson on 17 Nov 2020
randi(100,66) creates a 66 x 66 matrix of values 1 to 100.
0:1/55:1 is length 56.
When you .* a 66x66 matrix and a 1x56 matrix then what size of output are you expecting?
  1 Comment
AJ Woodson
AJ Woodson on 17 Nov 2020
Thank you for the response ideally r is signl and e is a Doppler shift so matrix size would be 66x66 to explain further it would be like x = [2 4 5 2 3 5 6] x.*5 and output would be a x = [10, 20, 25 etc. ideal e in my case is just a scalar if I'm making myself clear where in the example r = x and e = 5

Sign in to comment.


Andrei Bobrov
Andrei Bobrov on 17 Nov 2020
r = randi(100,66);
t = reshape(0:1/55:1,1,1,[]);
e = exp(2*pi*i*13*t);
t = r.*e;

Categories

Find more on Detection, Range and Doppler Estimation in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!