Matrix dimensions must agree.

1 visualización (últimos 30 días)
Ravikumar Mevada
Ravikumar Mevada el 29 de Jul. de 2019
Comentada: Andrei Bobrov el 29 de Jul. de 2019
Hi,
I am very new to the Matlab. I made one function which gives me an array of sinusoids. In arguments, I am providing an array of amplitude, frequency and phase. The other arguments are length and sampling frequency. When I call the function from command line I am getting error mentioned in the title. I have also tried with the .* method.
Can some one guide me the solve the problem?
Thanks.
Error:
Matrix dimensions must agree.
Error in generateSin (line 5)
function [z] = generateSin (a,f, ph,L, Fs)
T = 1/Fs;
tmax = L*T;
t = 0:T:tmax-T;
z = a.*sin (2*pi*t.*f + ph)
end
%command line function call sample : z = generateSin ([3,5,7], [5,10,15], [0,pi/2, pi/6], 1000, 300)
  1 comentario
Torsten
Torsten el 29 de Jul. de 2019
t is a vector of length 1000, a, f and ph are vectors of length 3. What dimension do you expect z to have ?

Iniciar sesión para comentar.

Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 29 de Jul. de 2019
Editada: Andrei Bobrov el 29 de Jul. de 2019
function [z] = generateSin (a,f, ph,L, Fs)
z = (a(:).*sin (2*pi*(0:L-1)/Fs).*f(:) + ph(:))';
end
  2 comentarios
Ravikumar Mevada
Ravikumar Mevada el 29 de Jul. de 2019
Hi,
Can you please explain, Why you have inserted ' at the end of the fourth line?
Andrei Bobrov
Andrei Bobrov el 29 de Jul. de 2019
First please read part of help from MATLAB Getting Started.
In our case " ' " - sign transpoze our array.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Operators and Elementary Operations en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by