基于MFC实现卷积

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二:用C++实现卷积
一、实验目的:
在Microsoft Visual C++ 6.0软件中用C++语言实现两个离散序列的卷积。

二、实验工具:
软件:Microsoft Visual C++ 6.0 语言:C++
三、实验步骤:
1、建立一个单文档应用程序:在本实验中是用在实验一中所建立的的文档。

2、创建对话框并在单文档应用程序中调试。

(1)打开资源文件选项卡,右击“Dialog”文件夹,选择“插入Dialog”选项,出现如图1所示,并在将其编辑成如图1所示的界面。

图1
(2)在资源文件选项卡中,选择Menu文件中的“IDR_MAINFRAME”资源,在弹出入图2所示的对话框,在其菜单栏中增加“卷积”,然后在其下拉菜单空白处增加新的子菜单“设置两个序列的参数”,该子菜单的属性的设置如图3所示。

图2
图 3
(3)为子菜单新增加消息处理函数。

选择“输入sin的参数”子菜单,右击该菜单,在浮动的菜单中选择“建立类向导”选项。

会出现图4所示的对话框,单击“Add Function”按钮,将出现图5所示的对话框,函数名默认即可,单击“OK”按钮退出。

图 4
图 5
(4)在消息处理函数中添加代码,如图10所示。

3、将对话框中的数据传入单文档应用程序。

(1)新建一个“类”,选择“插入”/“类”,在“Name”中输入“juanjipara”,“Base class”中选择“CDialog”,这样一个新的类就建成了。

在“FileView”中的“Source Files”中出现“juanjipara.cpp”,“Header Files”中出现“juanjipara.h”。

如图6所示。

图 6
(2)在“MFC ClassWizard”中的“Member Variables”设置如图7所示。

图7
(3)在“dspView.h”中定义新添加的变量“m_tri_jj_point”、“m_tri_jj_amplitude”、“m_tri_jj_pierod”、“m_square_point”、“m_square_amplitude”和“m_square_pierod”为
“int”。

如图8所示。

图8
(4)在“dspView.cpp”中添加头函数“#include juanjipara.h”,定义的常量如
图9所示。

设置“m_tri_jj_point”、“m_tri_jj_amplitude”、“m_tri_jj_pierod”、
“m_square_point”、“m_square_amplitude”和“m_square_pierod”的初始值。

图9
(5)显示正弦波离散序列1的程序如图10。

图10
(6)显示正弦波离散序列2的程序如图11。

图11
(7)卷积的实现的程序,如图12 。

图12
4、实验结果的验证:
编译通过之后,运行后,点击“卷积”/“设置两个序列的参数”,出现如图13所示的对话框,填入周期和幅度的值,单击“确定”,其结果如图14所示。

图13
图14。

相关文档
最新文档