添加噪声函数时的MATLAB循环错误
我的任务之一是在以下等式中添加适当的噪波函数:添加噪声函数时的MATLAB循环错误,matlab,Matlab,我的任务之一是在以下等式中添加适当的噪波函数: x = A*(1+a1*E)*sin(w*(1+a2*E)*t+y)+ a3*E 然后,我们必须绘制噪声函数与时间的关系,以及添加噪声后的原始函数。我问教授-1和1之间的随机数生成器是否足够,他同意了。到目前为止,我有以下代码: t = 0:0.1:6.5; A = 2; a1 = 2; a2 = 4; a3 = 3; w = 1; y = 2; for i=1:length(t) E(i) = random('unif',
x = A*(1+a1*E)*sin(w*(1+a2*E)*t+y)+ a3*E
然后,我们必须绘制噪声函数与时间的关系,以及添加噪声后的原始函数。我问教授-1和1之间的随机数生成器是否足够,他同意了。到目前为止,我有以下代码:
t = 0:0.1:6.5;
A = 2;
a1 = 2;
a2 = 4;
a3 = 3;
w = 1;
y = 2;
for i=1:length(t)
E(i) = random('unif', -1, 1, 1, 1);
x(i) = A*(1+a1*E(i))*sin(w*(1+a2*E(i))*t+y)+ a3*E(i);
i=i+1;
end
plot(t,E)
figure
stem(t,x)
我在赋值A(I)=B中不断得到以下错误,B中的元素数和我必须
都一样
Error in Try1 (line 58)
x(i) = A*(1+a1*E(i))*sin(w*(1+a2*E(i))*t+y)+ a3*E(i);
我不理解这个错误,因为E只是一个数字
谢谢你的帮助!!谢谢 你是正确的,
E
只是一个数字,但是你要乘以t
,这不仅仅是一个数字,它是一个数组。我想你的意思是乘以t(I)
here------v
x(i) = A*(1+a1*E(i))*sin(w*(1+a2*E(i))*t(i)+y)+ a3*E(i);