




免费预览已结束,剩余2页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要:Matlab作为一款功能强大的软件在程序编写方面也功能强大。本论文分别用C语言和Matlab编写了一个简单的二分法查询算法,从中了解他们的异同,从而从Matlab和C语言的角度进一步了解数学软件与算法之间的知识。关键字:Matlab、C、算法1、 知识点简述1、 Matlab简述Matlab的名称源自Matrix Laboratory,是MathWorks公司于1984年推出的数学软件,是一种用于科学工程计算的高效率的高级语言。Matlab的基本功能如下:数学运算功能;2D和3D图形显示功能;交互式的高级编程语言M语言编程功能;工具箱函数功能;编译功能;Simulink仿真功能;Stateflow交互式设计功能;自动代码生成功能等等2、 C语言和算法用C语言编写的程序,称为C语言源程序,简称C程序。所谓算法是指一组有穷的指令集,是解题方案的准确而完整的描述。通俗地说,算法就是计算机解题的过程。一般来说,算法应具有的特征有:确定性,算法的每一步都必须有确切的定义;有穷性,一个算法必须在执行有穷步后结束;可行性;拥有足够的情报。通常,一个算法由对数据对象的运算和操作以及其控制结构两部分组成。2、 问题叙述本论文中以数学建模为基础,根据研究方向为算法出发,以一个简单的程序为例,简要的讲诉数学建模软件和算法之间的关系。1、 问题用二分法编写程序,查找数组中是否存在某一个整数2、 分析问题2.1、可以将问题分解成几个小问题:输入模块,查找模块,主模块等。2.2、查找的整数由键盘输入2.3、用一个函数来计算数组中是否存在某一整数,如果数组中存在该整数,则返回该正数在数组中的位置;反之,则返回-12.4分别用C语言和Matlab编写程序3、 程序设计1、 简单设想2、 模块设计2.1、为了增强程序的可读性,需要一定的提示语句和输出语句,即:屏幕输入模块2.2、该问题主要是在于查找,则可以把用二分法查找的信息单独设置成一个模块,即:查找模块2.3、即使是一个小程序,也需要有主函数(C语言中是Main函数),简要的显示程序的大纲信息,即:主模块3、 符号说明程序代码中有很多的符号,可读性强的程序中的符号都有一定的符号含义,可以使得程序更容易读懂和理解4、 程序代码1、 C语言编写的程序#include stdio.h#include stdlib.hvoid printData(int a) /数组输出函数int i;for(i=0;ib)return -1;elsemid=(a+b)/2;if(x=Lmid)return mid;elseif(xLmid)return Binary_Search(L,mid+1,b,x);elsereturn Binary_Search(L,a,mid-1,x);main() /主函数int L=23,24,33,43,53,67,77;int position,x; printf(please input a data you want to find:);scanf(%d,&x);printData(L);position=Binary_Search(L,0,6,x);if(position=-1)printf(the data you can not find,not in Ln);elseprintf(the position of the data is:%dn,position+1);2、 Matlab2.1、Binary_Search.m %二分法查找的函数function findD=Binary_Search(L,a,b,x) if ab findD=-1; return else mid =(a+b) / 2; if x=L(mid); findD=mid; return elseif xL(mid); findD=Binary_Search(L,mid+1,b,x); return else findD=Binary_Search(L,a,mid-1,x); return end endEnd2.2、findData.m %主函数L=23,24,33,43,53,67,77;lenD=length(L);x=input(please input a data you want to find:);disp(L);a=1;position=Binary_Search(L,a,lenD,x);if position=-1 disp(the data you can not find,not in L);else disp(the position of the data is:); disp(position);end5、 结果显示程序中已定义数组为:L=23,24,33,43,53,67,77;1、 C语言中的结果显示1.1、输入数字:0 :不存在1.2、输入数字:23:存在,第1个数字1.3、输入数字:33:存在,第3个数字1.4、输入数字:77:存在,第7个数字1.5、输入数字80:不存在2、 Matlab中的结果显示2.1、输入数字:0 :不存在 findData.mplease input a data you want to find:0 23 24 33 43 53 67 7the data you can not find,not in L2.2、输入数字:23:存在,第1个数字 findData.mplease input a data you want to find:23 23 24 33 43 53 67 77the position of the data is: 12.3、输入数字:33:存在,第3个数字 findData.mplease input a data you want to find:33 23 24 33 43 53 67 77the position of the data is: 32.4、输入数字:77:存在,第7个数字 findData.mplease input a data you want to find:77 23 24 33 43 53 67 77the position
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年低空经济无人机产业投资机会与风险预警报告
- 2025年低空经济行业报告:无人机安全监管技术发展趋势与挑战
- 2025年低空经济航空市场国际化趋势与竞争格局报告
- 江苏国考行测题库(考点提分)附答案详解
- 低空经济2025宗教场所空域利用效率提升路径报告
- 2025年低空经济行业无人机航拍应用报告
- 2025年河北省秦皇岛市继续教育公需科目考试题(含答案)
- 2025年无人机货运无人机行业市场增长动力与影响因素报告
- 2025年低空经济行业市场前景与投资回报分析报告
- 2025年低空经济「监管沙盒」试点区域政策协同与实施效果报告
- 医之有“道”告别难“咽”之隐-基于5A护理模式在脑卒中恢复期患者改善吞咽障碍中的应用
- 数字货币概论 课件 第5章 稳定币的原理与实现
- 现代礼仪与沟通(大学生礼仪沟通课程)全套教学课件
- 严重精神障碍患者家属护理教育
- 坚持立足中国又面向世界讲解
- 《昆虫的美食》课件
- 制程工序能力分析报告
- TRIZ试题库资料整理
- 双室平衡容器原理
- 焊接热源及其热作用
- 等腰三角形的性质市公开课金奖市赛课一等奖课件
评论
0/150
提交评论