程序设计思路
1 算法设计部分
首先,分别写出复化梯形求积、复化Simpson 求积、Romberg 求积这三个求积算法的程序,并将其保存为trap.m/simp.m/lonbeg.m函数。
一、复化梯形求积(trap.m )
二、复化Simpson 求积(simp.m )
三、Romberg 求积(longbeg.m )
2 界面设计部分
根据题目的功能需求,我在GUI (图形用户界面)上设计了四个界面(主界面、复化梯形求积界面、复化Simpson 求积界面、Romberg 求积界面),主界面主要显示是由四个按钮和一个静态文本框组成的,前三个按钮分别对应三种求积算法第四个按钮则是控制主界面的关闭功能,具体设计如下:
主要有四个可视化界面,其中主界面(jiemian.fig ) 中有四个控制按钮(按钮一复化梯形求积, 复化Simpson 求积、Romberg 求积、退出),一个静态文本框StaticText 用来写出主界面的标题,点击每个按钮都可以独立控制进入对应求积分算法的界面。
当用户选择点击复化梯形按钮时,程序就会进入fuhuatixing.fig 界面,该界面由十个用来做标签的StaticText ,四个可编辑的EditText 用于按照界面温馨提示输入数据,三个不可编辑EditText 用来输出计算结果。若数据输入错误可点击清除,点击计算按钮,进行计算的到复化梯形求积分的近似值以及该积分的精确值。进而得到计算误差值。
同理,点击复化Simpson 求积按钮和Romberg 求积按钮对应进入Simpson 界面和lonbge 界面,复化Simpson 求积界面则由十二个用来做标签的StaticText ,四个可编辑的EditText 用于按照界面温馨提示输入积分上限、积分下限、积分子区间数、积分函数,三个不可编辑EditText 用来输出积分近似值、积分精确值、以及误差。点击计算按钮,进行计算的到复化Simpson 求积分的近似值以及该积分的精确值,进而得到计算误差值。但值得注意的是复化Simpson 输入的积分子区间数实际上是其区间数的1/2,简单的说就是实际复化Simpson 计算的区间数应是用户输入的积分子区间数的2倍。
lonbge 界面有所不同,该界面由十二个用来做标签的StaticText ,五个可编辑的EditText 用于按照界面温馨提示输入积分上限、积分下限、积分精度、积分函数、输出行数,四个不可编辑EditText 用来输出积分近似值、积分精确值、龙贝格表格以及误差。同样按照界面提示输入对应数据点击计算按钮即可计算出积分近似值,精确值和误差。
1、主界面
这里对控件做出说明:
表1静态文本框属性说明
属性 Style Tag String FontSize FontStyle
edit text2
几种数值积分算法 24.0
MS Sans Serif
值
说明
控件类型,可编辑文本框 标签,用于句柄访问 控件显示的字符串 显示字体大小 字体风格
表2 按钮1的主要属性(其他按钮属性类似)
属性 Style Tag String FontSize FontStyle
pushbutton Pushbutton1 复化梯形求积 18.0
MS Sans Serif
值
说明
控件类型,按钮 标签,用于句柄访问 控件显示的字符串 显示字体大小 字体风格
OpeningFcn 函数是对界面设置背景图,在这里我把图片4.jpg 作为背景图核心代码如下:
按钮1,2,3,4的Callback 函数是当点击按钮后,所作出的应答,本设计是中,按钮1,2,3需要当点击按钮时,跳转到对应的功能界面,代码如下:
按钮4控制程序的运行与否,点击会弹出询问框文用户是否确定关闭程序,主要代码如下:
2、功能界面
功能界面是主界面上1,2,3个按钮所对应的3个界面,分别实现复化梯形求积、复化Simpson 求积、Romberg 求积。功能界面有四部分组成:提示说明部分——静态文本框;输入数据部分——可编辑文本框,输出数据部分——不可编辑文本框;按钮控制部分。具体的效果图如下:
图1复化梯形求积界面
图2复化Simpson 求积界面
图3Romberg 求积界面
功能界面中重要的是实现对参数的传递和函数的调用以及数据的清空,这里以复化梯形求积界面为例,MATLAB 的GUI 对这两个功能的实现是通过Callback 函数。代码如下:
清空数据主要代码如下:
程序设计思路
1 算法设计部分
首先,分别写出复化梯形求积、复化Simpson 求积、Romberg 求积这三个求积算法的程序,并将其保存为trap.m/simp.m/lonbeg.m函数。
一、复化梯形求积(trap.m )
二、复化Simpson 求积(simp.m )
三、Romberg 求积(longbeg.m )
2 界面设计部分
根据题目的功能需求,我在GUI (图形用户界面)上设计了四个界面(主界面、复化梯形求积界面、复化Simpson 求积界面、Romberg 求积界面),主界面主要显示是由四个按钮和一个静态文本框组成的,前三个按钮分别对应三种求积算法第四个按钮则是控制主界面的关闭功能,具体设计如下:
主要有四个可视化界面,其中主界面(jiemian.fig ) 中有四个控制按钮(按钮一复化梯形求积, 复化Simpson 求积、Romberg 求积、退出),一个静态文本框StaticText 用来写出主界面的标题,点击每个按钮都可以独立控制进入对应求积分算法的界面。
当用户选择点击复化梯形按钮时,程序就会进入fuhuatixing.fig 界面,该界面由十个用来做标签的StaticText ,四个可编辑的EditText 用于按照界面温馨提示输入数据,三个不可编辑EditText 用来输出计算结果。若数据输入错误可点击清除,点击计算按钮,进行计算的到复化梯形求积分的近似值以及该积分的精确值。进而得到计算误差值。
同理,点击复化Simpson 求积按钮和Romberg 求积按钮对应进入Simpson 界面和lonbge 界面,复化Simpson 求积界面则由十二个用来做标签的StaticText ,四个可编辑的EditText 用于按照界面温馨提示输入积分上限、积分下限、积分子区间数、积分函数,三个不可编辑EditText 用来输出积分近似值、积分精确值、以及误差。点击计算按钮,进行计算的到复化Simpson 求积分的近似值以及该积分的精确值,进而得到计算误差值。但值得注意的是复化Simpson 输入的积分子区间数实际上是其区间数的1/2,简单的说就是实际复化Simpson 计算的区间数应是用户输入的积分子区间数的2倍。
lonbge 界面有所不同,该界面由十二个用来做标签的StaticText ,五个可编辑的EditText 用于按照界面温馨提示输入积分上限、积分下限、积分精度、积分函数、输出行数,四个不可编辑EditText 用来输出积分近似值、积分精确值、龙贝格表格以及误差。同样按照界面提示输入对应数据点击计算按钮即可计算出积分近似值,精确值和误差。
1、主界面
这里对控件做出说明:
表1静态文本框属性说明
属性 Style Tag String FontSize FontStyle
edit text2
几种数值积分算法 24.0
MS Sans Serif
值
说明
控件类型,可编辑文本框 标签,用于句柄访问 控件显示的字符串 显示字体大小 字体风格
表2 按钮1的主要属性(其他按钮属性类似)
属性 Style Tag String FontSize FontStyle
pushbutton Pushbutton1 复化梯形求积 18.0
MS Sans Serif
值
说明
控件类型,按钮 标签,用于句柄访问 控件显示的字符串 显示字体大小 字体风格
OpeningFcn 函数是对界面设置背景图,在这里我把图片4.jpg 作为背景图核心代码如下:
按钮1,2,3,4的Callback 函数是当点击按钮后,所作出的应答,本设计是中,按钮1,2,3需要当点击按钮时,跳转到对应的功能界面,代码如下:
按钮4控制程序的运行与否,点击会弹出询问框文用户是否确定关闭程序,主要代码如下:
2、功能界面
功能界面是主界面上1,2,3个按钮所对应的3个界面,分别实现复化梯形求积、复化Simpson 求积、Romberg 求积。功能界面有四部分组成:提示说明部分——静态文本框;输入数据部分——可编辑文本框,输出数据部分——不可编辑文本框;按钮控制部分。具体的效果图如下:
图1复化梯形求积界面
图2复化Simpson 求积界面
图3Romberg 求积界面
功能界面中重要的是实现对参数的传递和函数的调用以及数据的清空,这里以复化梯形求积界面为例,MATLAB 的GUI 对这两个功能的实现是通过Callback 函数。代码如下:
清空数据主要代码如下: