Why do I get Matrix dimensions must agree? I am trying to plot the frequency response of this function.
1 view (last 30 days)
Show older comments
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 Comments
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]
More Answers (0)
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!