Matrix multiplication error using '.*'

%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 个评论

Are you looking for this?
%so this is my simply code
t = (0:1/55:1);
r = randi(size(t));
e = exp(2*pi*i*13*t);
t = r.*e % this gives me error why is it and how can fix
No this does not help because I want to do .* to a continious wave as well so size(t) will not work for all my cases.
You see r is a matrix and t is a array..this is what you want?
@woodson then you have to divide t into 66. as
%if true
t = 0:1/65:1;
To get what you want.

请先登录,再进行评论。

回答(3 个)

t = linspace(0, 1, 66);

1 个评论

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 个评论

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

请先登录,再进行评论。

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

类别

在 帮助中心 和 File 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