matlab程序设实例解析.pdf

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB程序设计方法及若干程序实例 樊双喜 (河南大学数学与信息科学学院 开封475004) 摘 要 本文通过对 MATLAB 程序设计中的若干典型问题做简要的分析和总结,并 在此基础上着重讨论了有关算法设计、程序的调试与测试、算法与程序的优化以 及循环控制等方面的问题.还通过对一些程序实例做具体解析,来方便读者进行 编程训练并掌握一些有关 MATLAB 程序设计方面的基本概念、基本方法以及某些 问题的处理技巧等.此外,在文章的最后还给出了几个常用数学方法的算法程序, 供读者参考使用.希望能对初学者进行 MATLAB 编程训练提供一些可供参考的材 料,并起到一定的指导和激励作用,进而为MATLAB编程入门打下好的基础. 关键字 算法设计;程序调试与测试;程序优化;循环控制 1 算法与程序 1.1 算法与程序的关系 算法被称为程序的灵魂,因此在介绍程序之前应先了解什么是算法.所谓算 法就是对特定问题求解步骤的一种描述.对于一个较复杂的计算或是数据处理的 问题,通常是先设计出在理论上可行的算法,即程序的操作步骤,然后再按照算法 逐步翻译成相应的程序语言,即计算机可识别的语言. 所谓程序设计,就是使用在计算机上可执行的程序代码来有效的描述用于 解决特定问题算法的过程.简单来说,程序就是指令的集合.结构化程序设计由于 采用了模块分化与功能分解, 自顶向下,即分而治之的方法,因而可将一个较复杂 的问题分解为若干子问题,逐步求精.算法是操作的过程,而程序结构和程序流程 则是算法的具体体现. 1.2 MATLAB 语言的特点 MATLAB 语言简洁紧凑,使用方便灵活,库函数极其丰富,其语法规则与科技 人员的思维和书写习惯相近,便于操作.MATLAB 程序书写形式自由,利用其丰富 的库函数避开繁杂的子程序编程任务,压缩了很多不必要的编程工作.另外,它的 语法限制不严格,程序设计自由度大.其最大的特点是以矩阵运算为最强,而数值 的矩阵化又为运算和处理提供了方便.除此之外,MATLAB 还有着非常强大的绘图 功能. 1.3 MATLAB 程序设计练习 MATLAB 有着丰富的库函数,一般情况下应了解并学会使用一些常用的库函 数,至少应熟悉函数库中都有哪些常用函数,当需要时可以现学现用.或者能对一 些经典函数做一定的改造,以达到解决某一特定问题的目的.但,在大多情况下还 需要自己编写程序去处理形形色色的问题.下面就先从一些较简单的程序入手来 熟悉MATLAB的编程方式. 例 1 一个分类统计函数的设计(分类统计_1) 编写一个函数,统计出一组有序(按升序或降序排列)数字中每种数字的个 数,并返回数字种类数. 分析:设待统计数组为 x,因为 x 有序,所以在设计算法时应抓住这个特点. 若用 s1 记录已统计出的数字,则,在对 x 中的数字进行遍历时,每次只需让 x(i) 与 s1 中的最后一个数字进行比较就可以了,若相等,则对应计数器加 1,若不等, 则说明测到新数,应开辟新的存储单元.其算法程序如下: function [s,k]=FLTJ_1(x) %x为待统计的一组有序数,返回值s为2 列的数组, 第一列为不同种类的数字 %第二列为对应数字的个数, k记录统计出的数字种类数目 n=length(x); s1=x(1); % s1记录测到的新数字,给其赋初值为x的第一个数字 s2=1; % s2记录s1中每个数字的个数,赋初值为x(1)的初始个数1 k=1; % k记录已统计出的数字种类数,初值赋为1 for i=2:n % 从第2项开始遍历数组x if x(i) s1(k) % 如果x(i)与已测出的最后1个数字相同, s2(k)=s2(k)+1; % 则对应的计数器加1 else % 否则,则说明测到新数字 k=k+1; % k值加1 s1=[s1;x(i)]; % 将此新数并入s1, s2=[s2;1]; %对应的计数器为1 end end s=[s1,s2]; % 将s1与s2拼接成一个两列的数组s

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档