- 积分
- 0
- 注册时间
- 2010-10-11
- 仿真币
-
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2010-11-14 21:39:45
|
显示全部楼层
来自 河北秦皇岛
chenzhian
帮我看个程序
设计一个简单信号分析仪的程序,要求根据输入的两个频率和时间间隔,计算函数 的值,并对函数进行快速傅立叶变换,最后分别绘制时域和频域的曲线。
我设计的程序如下:
设置第一个坐标轴的标识为:frequency_axes, 用于显示频域图形; 第二个坐标轴的标识为:time_axes, 用于显示时域图形。三个文本编辑框的标识为f1_input, f2_input, t_input,分别用于输入两个频率和自变量时间的间隔。
分别设置三个文本编辑框的初始值为:
f1_input=20
f2_input=50
t_input=0:0.001:0.5
pushbutton1_Callback()中,代码包括以下部分
f1=get(handles.f1_input,'String');
f2=get(handles.f2_input,'String');
t=str2double(get(handles.t_input,'String'));
x=sin(2*pi*f1*t)+sin(2*pi*f2*t);
y=fft(x,512);
m=y.*conj(y)/512;
f=1000*(0:256)/512;
axes(handles.frequency_axe)
plot(f,m(1:257))
set(handles.frequency_axe,'XminorTick','on')
grid on
axes(handles.time_axes) %选择适当的坐标轴
plot(t,x)
set(handles.time_axes,'XminorTick','on')
grid on
但是我得到的结果点击绘图时不显示图形好像只有grid on 有效
还有就是在matlab中输入f1或f2或t时会有结果的输出吗
我认为应该是有的,但是在matlab中输入f1时显示说是f1没有定义 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|