请问这个函数怎么用matlab仿真?

y=sin(100*pi*t)+0.2*randn(1.5*128)
如果用simulink请说明用什么模块以及参数设置。如果用matlab就写出程序就行

擦。。。楼上的这个渣是怎么混到十三级并且采纳率90%的?明显是剽窃我对另一个问题的回答,和这个问题没有半毛钱的关系。

这个函数无论用MATLAB还是Simulink都不难,但题主可以告诉我【randn(1.5*128)】是什么意思吗?【sin(100*pi*t)】这一项的t一般应理解成时间,randn是正太分布的随机数,问题是,这个1.5*128是什么?追问

是1,5*128 写错了

追答

randn(1,5*128) 是一个标准正态分布的行向量。
t 应该是变化的吧,范围和步长是多大?和这个行向量又是什么关系?
你的这个问题是从哪里来的,应该还有别的条件或说明吧?请把完整的题目贴出来。

追问

t是变化的,可以取0到0.1s。步长为0.0001.这函数原本是一种谐波信号的仿真模型,是从论文里找出来的。

追答

关键问题是,谐波信号是按时间变化的,如果按照你给的范围和步长,共有1001个元素,而式子中的randn则有640个元素,这两部分到底什么关系?根本没法往一起加啊。

建议题主告知包含此公式的论文信息,我看看作者的本意是什么。

另,楼上这么恶劣的回答(剽窃,无意义灌水),居然被分类管理员推荐,管理员是猪啊?

追问

sin的是基波分量,randn是正态分布的噪声分量。如果我令元素长度相同是不是就可以相加了?如果可以的话,顺便把画出该函数幅频曲线和相频曲线的程序也告诉我吧。问题解决后加分。

追答

主要不知道那个5*128是怎么来的。

 

基波分量是一维的,也就是说,在任一特定时刻,该项只是一个具体的标量数据,只有随着时间变化它才成为一个向量;而噪声分量信号是有640个元素的向量,不明确这640个数是怎样叠加到基波分量的。如果只是说要在基波分量上叠加一个正态分布的噪声分量,那么噪声的长度应该是根据时间来取的,例如

t=0:0.0001:0.1;
y=sin(100*pi*t)+0.2*randn(size(t));
plot(t,y)

 

关于相频特性和幅频特性,上述信号只是一个单一频率的信号,谈不上相频和幅频特性问题。

追问

谢了。用傅里叶变换是可以得出相频和幅频图。就是用fft或者fourier函数,然后用abs和angle。能再回答这个问题吗?主要是我matlab很少用,不会写程序。我已经提高了悬赏分数了。

追答

后面再加上以下代码:

Fs = 1 / 0.0001;
L = length(t);
NFFT = 2^nextpow2(L);
Y = fft(y,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2);

subplot 211
plot(f,2*abs(Y(1:NFFT/2))) 
subplot 212
plot(f,angle(Y(1:NFFT/2))*180/pi)

上面的幅频特性,下面的是相频特性曲线。

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-05-25
function zd495586878
color = 'rgbcmyk';
A = [0.2 0.5 0.8];
for i=1:length(A)
a=A(i);
[v,b]=ode45(@db_dv,[0.01 1],0,[],a);
plot(v,b,color(i))
str{i} = ['a = ' num2str(a)];
hold on
end
xlabel('v');
ylabel('b');
legend(str)
function db = db_dv(v, b, a)
F = inline('exp((x-a).^2/2)','x','a'); 
Q = quad(F,0,v,1e-6,0,a); 
db = (v-b) * exp((v-a)^2/2) / Q;

追问

这什么东西啊?根本运行不了

相似回答