%创建一个幅值为5,20HZ的正弦函数

t=0:0.001:1;
Y=5*sin(2*pi*20*t);
MyFourierT(Y);
title('正弦的频谱');

function MyFourierT(x)
X=abs(fft(x));
f=(0:length(X)-1)*1000/length(X);
plot(f,X);
axis([0 100,-1,3000]);
xlabel('频率/Hz');
ylabel('振幅');
grid on
end

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的MATLAB图形GUI代码示例,可以实现正弦信号波形的转换: ```matlab % 创建一个GUI窗口 hFig = figure('Name','正弦信号波形转换器','NumberTitle','off','MenuBar','none','ToolBar','none',... 'Position',[500,300,400,200]); % 创建一个文本标签 uicontrol(hFig,'Style','text','String','请输入正弦信号频率:','FontSize',12,'Position',[20,140,160,30]); % 创建一个文本输入框 uicontrol(hFig,'Style','edit','String','50','FontSize',12,'Position',[180,140,100,30],'Tag','freq_input'); % 创建一个按钮 uicontrol(hFig,'Style','pushbutton','String','绘制波形图','FontSize',12,'Position',[300,140,80,30],'Callback',@plotSinWave); % 创建一个绘图区域 axes('Units','pixels','Position',[50,20,300,100],'Tag','waveform_plot'); % 绘制正弦波形的函数 function plotSinWave(~,~) % 获取输入频率值 freq = str2double(get(findobj(gcf,'Tag','freq_input'),'String')); % 定义正弦信号参数 fs = 1000; % 采样频率 t = 0:1/fs:1; % 信号时长为1秒 x = sin(2*pi*freq*t); % 正弦信号 % 绘制正弦波形图 plot(t,x,'LineWidth',2); axis([0,1,-1,1]); xlabel('时间(s)'); ylabel('幅值'); title(sprintf('正弦信号波形图 (频率:%d Hz)',freq)); % 更新绘图区域 set(findobj(gcf,'Tag','waveform_plot'),'Children',gca); end ``` 运行上述代码后,会弹出一个GUI窗口,其中包含一个文本输入框、一个按钮和一个绘图区域。在文本输入框中输入正弦信号的频率值,然后点击“绘制波形图”按钮,即可在绘图区域中绘制出对应频率的正弦信号波形图。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值