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

2 visualizaciones (últimos 30 días)
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).

Respuesta aceptada

Clayton Gotberg
Clayton Gotberg el 26 de Abr. de 2021
Editada: Clayton Gotberg el 26 de Abr. de 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]

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by