Adding noise to a sine wave

Hi, I get error: Attempt to reference field of non-structure array. Error using + Matrix dimensions must agree.Error in (line 19), y=x+(alpha.v)
for following code please:
fs=8000;
tmax=4/360;
fangular=pi/10; % angular frequency (rad/sample).
n=1:fs*tmax;
A=1.2; % Amplitude
x=A*sin(n*fangular);
v=randn(1,64);
alpha=0.1;
noise=alpha*v;
y = x + noise;
plot(y)

Respuestas (1)

Jos (10584)
Jos (10584) el 23 de Ag. de 2017

0 votos

The expression "v.alpha" is interpreted by matlab as the contents of the field "alpha" of the structure variable "v". This is probably not what you meant.
You create v as a 1-by-64 array, and alpha is a scalar. I assume you want to simply multiply all elements of v by alpha, therefore:
v .* alpha
or, since alpha is a scalar,
v * alpha

2 comentarios

Aswas
Aswas el 23 de Ag. de 2017
Editada: Aswas el 23 de Ag. de 2017
Thanks Jos, but neither works, same error please: Error using + Matrix dimensions must agree.
Error in (line 20)
y = x + noise;
Aswas
Aswas el 23 de Ag. de 2017
Thanks I found answer from another question in this forum.

Iniciar sesión para comentar.

Categorías

Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 23 de Ag. de 2017

Comentada:

el 23 de Ag. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by