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

14 Ansichten (letzte 30 Tage)
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).

Akzeptierte Antwort

Clayton Gotberg
Clayton Gotberg am 26 Apr. 2021
Bearbeitet: Clayton Gotberg am 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]

Weitere Antworten (0)

Kategorien

Mehr zu Mathematics finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by