Matrix multiplication error using '.*'

2 次查看(过去 30 天)
AJ Woodson
AJ Woodson 2020-11-17
%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 个评论
KSSV
KSSV 2020-11-17
You see r is a matrix and t is a array..this is what you want?
VBBV
VBBV 2020-11-17
@woodson then you have to divide t into 66. as
%if true
t = 0:1/65:1;
To get what you want.

请先登录,再进行评论。

回答(3 个)

madhan ravi
madhan ravi 2020-11-17
t = linspace(0, 1, 66);
  1 个评论
AJ Woodson
AJ Woodson 2020-11-17
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

请先登录,再进行评论。


Walter Roberson
Walter Roberson 2020-11-17
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 个评论
AJ Woodson
AJ Woodson 2020-11-17
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

请先登录,再进行评论。


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

类别

Help CenterFile Exchange 中查找有关 Detection, Range and Doppler Estimation 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by