MATLAB Answers

## Incorrect Dimensions for Matrix Multiplication in DFT script

Asked by William A Lowe

### William A Lowe (view profile)

on 16 Jul 2019
Latest activity Edited by KALYAN ACHARJYA

### KALYAN ACHARJYA (view profile)

on 16 Jul 2019
Accepted Answer by KALYAN ACHARJYA

### KALYAN ACHARJYA (view profile)

I'm writing a DFT script and I keep running up agains this problem where my matrix multiplication is erroring out due to their matrix sizes. One is 1x1000 and the other is 500 x 500.
Here is the code below.
clc;
clear all;
close all;
t = 0:1/100:10-1/100; % Time vector
xn = 5 + 2*cos(2*pi*t-pi/2) + 3*cos(2*pi*4*t); %Signal in Time domain
N = 500; % length of data points
for k=0:N-1
for n=0:N-1
Wn=exp(-j*2*pi*k*n/N);
X1(k+1,n+1)=Wn;
end
end
Xk = X1*xn';

#### 0 Comments

Sign in to comment.

## 1 Answer

Answer by KALYAN ACHARJYA

### KALYAN ACHARJYA (view profile)

on 16 Jul 2019
Edited by KALYAN ACHARJYA

### KALYAN ACHARJYA (view profile)

on 16 Jul 2019
Accepted Answer

What I did?
For matrix multiplication, the number of columns in first matrix must be equal to the number of rows in second matrix, hence I try to satisfy the issue by changing N=500 to N=1000
t = 0:1/100:10-1/100; % Time vector
xn = 5 + 2*cos(2*pi*t-pi/2) + 3*cos(2*pi*4*t); %Signal in Time domain
N = 1000; % length of data points
X1=zeros(N,N);
for k=0:N-1
for n=0:N-1
Wn=exp(-j*2*pi*k*n/N);
X1(k+1,n+1)=Wn;
end
end
Xk=X1*xn';

madhan ravi

on 16 Jul 2019
Preallocate X1.
KALYAN ACHARJYA

### KALYAN ACHARJYA (view profile)

on 16 Jul 2019
#Edited @Madhan I am Sorry, ohh God..I missed it again. Thanks

Sign in to comment.