MATLAB Answers

# Why do I get Matrix dimensions must agree? I am trying to plot the frequency response of this function.

2 views (last 30 days)
Eliot Flores-Portillo on 26 Apr 2021
Edited: Clayton Gotberg on 26 Apr 2021
clear all; close all; clc;
%Problem 1:
w = linspace(-pi, pi,2001);
X = (1/(1-exp(-j.*w)))*(sin(1.5.*(w))./sin(w./2))+5*pi*dirac(w);
%Frequency Domain Plot
plot(w, X);
Error using /
Matrix dimensions must agree. (line 4).
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

### Accepted Answer

Clayton Gotberg on 26 Apr 2021
Edited: Clayton Gotberg on 26 Apr 2021
X = (1/(1-exp(-j.*w)))*(sin(1.5.*(w))./sin(w./2))+5*pi*dirac(w);
% ^
% This is your problem!
When MATLAB sees a scalar being divided by a matrix, it doesn't make the assumption that you want to perform the operation element-wise, like it does when you multiply a scalar and matrix or when you divide a matrix by a scalar.
x = [4 2];
y = 1/x; % Error because 1/[4 2] isn't interpretable as a matrix operation.
y = 1./x; % Returns [0.25 0.5]
##### 1 CommentShowHide None
Eliot Flores-Portillo on 26 Apr 2021
Oh ok thank!

Sign in to comment.

### Community Treasure Hunt

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

Start Hunting!