Matrix multiplication error using '.*'

17 Ansichten (letzte 30 Tage)
AJ Woodson
AJ Woodson am 17 Nov. 2020
Beantwortet: Andrei Bobrov am 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 Kommentare
KSSV
KSSV am 17 Nov. 2020
You see r is a matrix and t is a array..this is what you want?
VBBV
VBBV am 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.

Melden Sie sich an, um zu kommentieren.

Antworten (3)

madhan ravi
madhan ravi am 17 Nov. 2020
t = linspace(0, 1, 66);
  1 Kommentar
AJ Woodson
AJ Woodson am 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

Melden Sie sich an, um zu kommentieren.


Walter Roberson
Walter Roberson am 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 Kommentar
AJ Woodson
AJ Woodson am 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

Melden Sie sich an, um zu kommentieren.


Andrei Bobrov
Andrei Bobrov am 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;

Kategorien

Mehr zu Mathematics finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by