登录论坛

查看完整版本 : [MATLAB基础] 弱问又现江湖 诚求大侠解答


lincolnlee0126
2009-05-27, 11:19
一个很简单的问题,因为是新手,所以只能这么弱了:



假设一个输入的信号为sin20*pi*x+cos400*pi*x,如何对它进行N点的采样呢?



希望大侠详细解答 有代码讲解最好! ^ ^

lincolnlee0126
2009-05-27, 11:20
大侠们快快现身吧 小弟急等啊

silas_xue
2009-06-01, 21:10
lz 首先 我不是什么大侠 大家多多交流 共同进步
本质过程是这样的,当然,可以有更为方便的实现途径:
1 确定采样间隔 及 函数中(x的有效范围)/N,设为E;
2 loop.
pseudo:
for i; %%i is the range of x
if i = i + E
f_new(i) = f(i);
else
f_new(i) = 0;
end if
i++;
end for

Thx for reading.
PS:若还算满意,直接点击“Thanks”,再次登陆时亦便于查看回答是否真的帮到你了。
个人观点 仅供参考 多多交流 相互学习

huaijuliu
2009-06-01, 21:21
大侠们快快现身吧 小弟急等啊

fs=200;%设定采样频率,每秒钟采100个点数据
N=89; %采集数据样本数
n=0:N-1;
t=n/fs;
a=xlsread('NIUZHEN0105');
xx=a(:,1);
figure(1);
subplot(211);
plot(t,xx);%作时域波形
xlabel('时间(s)');
ylabel('微应变');
title('工况二第五道次上轴转矩时域波形');
grid;
%进行FFT变换并做频谱图
y=fft(xx,N);%进行fft变换
mag=abs(y);%求幅值
f=(0:length(y)-1)'*fs/length(y);%进行对应的频率转换
subplot(212);
plot(f,mag);%做频谱图
axis([3,100,0,6000]);
xlabel('频率(Hz)');
ylabel('幅值');
title('幅频谱图');
grid;
供参考

M.J_Victor
2009-06-01, 22:21
我也是初学,看到一个例子跟你问的问题很像贴出来看对你有用没。
t=(0:pi/10:pi)';
y1=sin(t)*[1,-1];
y2=sin(t).*sin(3*t);
t3=pi*(0:3)/3;
y3=sin(t3).*sin(3*t3);
plot(t,y1,'r:',t,y2,'-bo')
hold on
plot(t3,y3,'s','MarkerSize',10,'MarkerEdgeColor',[0,1,0],'MarkerFaceColor',[1,0.8,0])
axis([0,pi,-1,1])
hold off