数学建模基础入门小程序文件

合集下载

数学建模 MATLAB入门

数学建模 MATLAB入门

• 开放性使MATLAB广受用户欢迎.除内部函数外,所有 MATLAB主箱文件和各种工具箱都是可读可修改的文件,
用户通过对源程序的修改或加入自己编写程序构造新的专
用工具箱.
MATLAB的语言特点
1)语言简洁紧凑,使用方便灵活,库函数极其丰富。 2)运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供 了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符 将使程序变得极为简短。 3)MATLAB既具有结构化的控制语句(如for循环,while循 环,break语句和if语句),又有面向对象编程的特性。 4)程序限制不严格,程序设计自由度大。例如,在MATLAB 里,用户无需对矩阵预定义就可使用。 5)程序的可移植性很好,基本上不做修改就可以在各种型号 的计算机和操作系统上运行。 6)MATLAB的图形功能强大。在FORTRAN和C语言里,绘图都 很不容易,但在MATLAB里,数据的可视化非常简单。MATLAB 还具有较强的编辑图形界面的能力。 7)MATLAB的缺点是,它和其他高级程序相比,程序的执行 速度较慢。由于MATLAB的程序不用编译等预处理,也不生成 可执行文件,程序为解释执行,所Matlab介绍
MATLAB概况

MATLAB是矩阵实验室〔Matrix Laboratory〕之意.
除具备卓越的数值计算能力外,它还提供了专业水平的符
号计算,文字处理,可视化建模仿真和实时控制等功能.

MATLAB的基本数据单位是矩阵,它的指令表达式与
数学,工程中常用的形式十分相似,故用MATLAB来解算法
MATLAB <shuzu3>
〔2〕数组-数组运算 当两个数组有相同维数时,加、减、乘、除、
幂运算可按元素对元素方式进行的,不同大小或维 数的数组是不能进行运算的.

matlab数学建模基础教程.ppt

matlab数学建模基础教程.ppt
测控制工具箱
❖ Neural Network Toolbox——神经网络工具箱 ❖ Optimization Toolbox——优化工具箱 ❖ Partial Differential Toolbox——偏微分方程工
具箱
❖ Robust Control Toolbox——鲁棒控制工具箱
❖ Signal Processing Toolbox——信号处理工具箱 ❖ Spline Toolbox——样条工具箱 ❖ Statistics Toolbox——统计工具箱 ❖ Symbolic Math Toolbox——符号数学工具箱 ❖ Simulink Toolbox——动态仿真工具箱 ❖ Virtual Reality Toolbox——虚拟现实工具箱 ❖ Wavelet Toolbox——小波工具箱
版本歷史:到7.1版为止,MATLB的释放编号均以数字来命名,例如R7,R12.1,R14 SP1等;从7.2版开始 ,释放编号以年份来命名,每年3月份推出的用a表示,9月份推出的则以b表示,例如R2006a代表2006 年3月推出的版本,R2009b指2009年下半年推出的版本
❖ MATLAB 6.5 R13 2002 ❖ MATLAB 6.5.1 R13SP1 2003 ❖ MATLAB 6.5.2 R13SP2 2003 ❖ MATLAB 7 R14 2004 ❖ MATLAB 7.0.1 R14SP1 2004 ❖ MATLAB 7.0.4 R14SP2 2005 ❖ MATLAB 7.1 R14SP3 2005 ❖ MATLAB 7.2 R2006a 2006 ❖ MATLAB 7.3 R2006b 2006 ❖ MATLAB 7.4 R2007a 2007 ❖ MATLAB 7.5 R2007b 2007 ❖ MATLAB 7.6 R2008a 2008 ❖ MATLAB 7.7 R2008b 2008 ❖ MATLAB 7.8 R2009a 2009.3.6 ❖ MATLAB 7.9 R2009b 2009.9.4 ❖ MATLAB 7.10 R2010a 2010.3.5

数学建模入门知识

数学建模入门知识

2008 数码相机定位
2009
制动器试验台的 控制方法分析
眼科病床的合理 安排
2010年上海世博 会影响力的定量 评估 交巡警服务平台 的设置与调度
卫星和飞船的跟 踪测控
输油管的布置 企业退休职工养 老金制度的改革
储油罐的变位识 2010 别与罐容表标定 2011 城市表层土壤重 金属污染分析
2012 葡萄酒的评价
1.4 数学建模的意义
•在一般工程技术领域数学建模仍然大有用武之地; •在高新技术领域数学建模几乎是必不可少的工具; •进入一些数学的新领域,为数学建模开辟了新处女地: 诸如经济、生态、人口、地质等领域。
Chap2 数模竞赛简介
01 数模竞赛的来源 05 数模竞赛的概况 02 数模竞赛的流程 06 数模竞赛的赛题 数模竞赛的知识储备 03 数模竞赛与优研 07 (西电) 04 数模竞赛类别 08 数模竞赛的素质要求

3.2 数学建模的论文撰写
0. 摘要
• • • • a. 模型的数学归类(在数学上属于什么类型) b. 建模的思想(思路) c. 算法思想(求解思路) d. 建模特点(模型优点,建模思想或方法,算法特点,结果 检验,灵敏度分析,模型检验…….) • e. 主要结果(数值结果,结论)(回答题目所问的全部“问题”) 表述:准确、简明、条理清晰、合乎语法;符合打印文章 格式; 校对:务必认真。
刊登于次年“数学的实践与认识” 第1期
3.获得高水平学科竞赛奖的学生 满足以下条件之一即可: (1)ACM/ICPC国际大学生程序设计竞赛亚 洲区分站赛银奖及以上获得者; (2)全国大学生电子设计竞赛省级一等奖及 以上获得者; (3)全国大学生电子设计竞赛嵌入式系统专 题邀请赛、信息安全专题邀请赛和模拟电子 系统专题邀请赛国家二等奖及以上获得者; (4)全国大学生工程训练综合能力竞赛国家 二等奖及以上获得者; (5)美国大学生数学建模竞赛一等奖及以上 获得者;全国大学生数学建模竞赛国家一等 奖获奖学生;全国大学生数学建模竞赛国家 二等奖获奖学生且同时获得美国大学生数学 建模竞赛国际二等奖以上奖项1项;全国大学 生数学竞赛全国最高奖项获奖学生; (6)全国大学生“挑战杯”科技作品竞赛一 等奖前三名,二等奖前二名;全国大学生 “挑战杯”创业大赛一、二等奖第一名获奖 学生。

数学建模Matlab基础课件

数学建模Matlab基础课件

名称 反正弦函数 反余弦函数 反正切函数 最大值 元素的总和 以 e 为底的指数 以 10 为底的对数
取整
4、M文件
MATLAB的内部函数是有限的,有时为了研究某 一个函数的各种性态,需要为MATLAB定义新函数, 为此必须编写函数文件. 函数文件是文件名后缀为M的 文件,这类文件的第一行必须是一特殊字符function开 始,格式为:
(5)矩阵查找
可通过下面一段程序了解此用法: A= rand(3,5) B=(A>0.3)&(A<0.5) C=find(B)
%查找逻辑矩阵中的非零元素,返回复合关系的元素索 引单下标
A(C) %实现元素访问
(6)矩阵排序
[B,IX]=sort(A,dim,mode) %dim代表指定方向,dim=1表示对每列排序,dim=2表示对每 行排序,缺省时默认为1 %mode代表排序模式,mode=asend时为升序,mode=descend 时为降序 %IX为排序后各元素在原矩阵中的行位置或列位置的索引
数字或下划线,变量名中不允许使用标点符号.
特殊变量表
特殊变量 ans pi
eps
flops inf NaN i,j nargin nargout realmin realmax
取值 用于结果的缺省变量名 圆周率 计算机的最小数,当和 1 相加就产生一个比 1 大的数 浮点运算数 无穷大,如 1/0 不定量,如 0/0
(2)“%” 后面所有文字为注释. (3) “...”表示续行.
函数 sin(x) cos(x) tan(x) abs(x) min(x) sqrt(x) log(x) sign(x)
3、数学函数


正弦函数

数模菜鸟教程

数模菜鸟教程

数模菜鸟教程数学建模竞赛新手教程(1)--数模竞赛是什么数学建模竞赛,就是在每年叶子黄的时候(长沙的树叶好像一年到头都是绿的)开始的一项数学应用题比赛。

大家都做过数学应用题吧,不知道现在的教育改革了没有,如果没有大变化,大家都应该做过,比如说[树上有十只鸟,开枪打死一只,还剩几只],这样的问题就是一道数学应用题(应该是小学生的吧),正确答案应该是9只,是吧?这样的题照样是数学建模题,不过答案就不重要了,重要的是过程。

真正的数学建模高手应该这样回答这道题。

“树上有十只鸟,开枪打死一只,还剩几只?”“是无声手枪或别的无声的枪吗?”“不是。

”“枪声有多大?”“80-100分贝。

”“那就是说会震的耳朵疼?”“是。

”“在这个城市里打鸟犯不犯法?”“不犯。

”“您确定那只鸟真的被打死啦?”“确定。

”“OK,树上的鸟里有没有聋子?”“没有。

”“有没有关在笼子里的?”“没有。

”“边上还有没有其他的树,树上还有没有其他鸟?”“没有。

”“有没有残疾的或饿的飞不动的鸟?”“没有。

”“算不算怀孕肚子里的小鸟?”“不算。

”“打鸟的人眼有没有花?保证是十只?”“没有花,就十只。

”“有没有傻的不怕死的?”“都怕死。

”“会不会一枪打死两只?”“不会。

“所有的鸟都可以自由活动吗?”“完全可以。

”“如果您的回答没有骗人,打死的鸟要是挂在树上没掉下来,那么就剩一只,如果掉下来,就一只不剩。

”不是开玩笑,这就是数学建模。

从不同的角度思考一个问题,想尽所有的可能,正所谓的智者千虑,绝无一失,这,才是数学建模的高手。

然后,数学建模高手的搭挡----论文写作高手(暂称为写手吧),会把以上的思想用最好的方式表达出来。

一般的写手会直接把以上的文字放到论文里就成了。

但是专职的数学建模论文的写手不会这样做,她们会先分析这些思想,归整好条理;然后,她们会试着用图画来深入浅出的表达这些思想,或者再使用一些表格;这些都是在Word中进行,当然,如果有不喜欢Microsoft 的朋友或是国粹主义者喜欢用WPS什么的当然也可以。

数学建模基础 matlab基础

数学建模基础 matlab基础
向量x的第a、b、c、d个元素构成一个新的向量 [x(a) x(b) x(c) x(d)].
E 1 2 3 4 5
取E的2、3、4位置上的元素。
2.4 矩阵信息的获取
1.矩阵尺寸信息
2.元素的数据类型
3.矩阵的数据结构
本小节介绍如何获取矩阵的信息,包括 矩阵的尺寸、元素的数据类型和矩阵的数 据结构等。
在MATLAB中,用命令whos来显示数据的类型、
存储空间等信息。
矩阵的构造
1.简单矩阵构造
2.特殊矩阵构造
3.向量构造
1.简单矩阵构造
最简单的方法是采用矩阵构造符“[]”。 构造1n矩阵(行向量)时,可以将各元素 依次放入矩阵构造符[]内,并且以空格或者 逗号分隔;构造mn矩阵时,每行如上处理, 并且行与行之间用分号分隔。
z =4 10 18 x*y不能成立 z =4.0 2.5 2.0 元素群没有左除右除之分 z =1 32 729 x^y 能成立吗? z =1 4 9 x^2能成立吗? z =2 4 8 16 32 64 2^[x y] 能成立吗? 元素群的幂次运算是各个元素自行作幂次运算, 对每个元素的这种运算和对标量运算一样。但 是,不能将元素群运算称为数组运算。 区别左边运算
矩阵元素的序号排法: n×m阵中下标为(j,k)的元素序号为 l=(k-1)*n+j 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
3.访问多个元素
术运算只是矩阵运算的一种特例。
(2) 点运算
.*、./、.\、.^
两矩阵进行点运算是指它们的对应位置上的元素

数学建模基础

数学建模基础

数学建模基础引言在现代社会,数学建模成为了一种重要的工具和方法,用于解决各种实际问题。

数学建模是一门跨学科的学科,它结合了数学、计算机科学、统计学和领域专业知识,通过数学模型的构建和求解,来描述和解释现实世界中的问题。

本文将介绍数学建模的基础知识和方法。

数学建模的基本流程数学建模的基本步骤包括问题的分析、建立数学模型、模型求解、结果分析和模型验证。

下面将对每个步骤进行详细说明。

问题的分析在进行数学建模之前,首先需要对问题进行充分的分析。

问题的分析包括确定问题的背景和目标,了解问题的限制条件和约束条件,分析问题的关键因素和变量,以及确定问题的求解方法和评价指标。

建立数学模型建立数学模型是数学建模的核心步骤。

在建立数学模型时,需要根据问题的特点选择合适的数学工具和方法,用数学语言来描述问题。

常用的数学模型包括线性模型、非线性模型、动态模型、随机模型等。

在建立数学模型时,需要明确变量的定义和范围,确定各个变量之间的关系,以及选择合适的数学形式来描述这些关系。

模型求解模型求解是指通过数学方法来求解建立的数学模型。

常用的数学方法包括解析解法、数值解法、优化方法等。

在模型求解过程中,需要根据具体的求解方法和算法来进行计算和推导,得到模型的具体解。

根据问题的具体特点,可能需要使用编程语言和计算机软件来实现模型的求解。

结果分析在模型求解之后,需要对求解的结果进行分析和解释。

结果分析需要根据问题的背景和目标,对模型求解的结果进行合理的解释和说明。

可以通过数据分析、图表展示等方式,来对结果进行可视化和呈现,以便更好地理解和评估模型的有效性和应用价值。

模型验证模型验证是指通过实际数据和实验验证建立的数学模型的准确性和可靠性。

在模型验证过程中,需要与实际数据进行对比和验证,对模型的假设和预测进行检验。

如果模型能够对实际问题进行合理的解释和预测,那么可以认为模型具有一定的准确性和可靠性。

数学建模的应用领域数学建模广泛应用于各个领域的研究和实践中。

数学建模程序

数学建模程序

——暑期培训学号:1003014117系别:动物科学系姓名:刘芳上课时间:2102.704-713 815-9102012-07-05城市居民食品分类及零售价格预测消费者物价指数(Consumer Price Index),英文缩写为CPI,也称消费价格指数,是反映与居民生活有关的产品及劳务价格统计出来的物价变动指标,通常作为观察通货膨胀水平的重要指标,是与人民生活密切相关的参考指标。

城市居民食品零售价格是消费者物价指数的重要组成部分,权威机构研究认为粮食生产、流通成本上涨一定会带动农产品价格总体上涨,特别是2011年异常的气候情况,导致生产成本大量增加,国际粮价对国内供需的影响,食品价格未来可能发生上涨。

刚公布3月份的CPI增幅达5.4%,创32个月来的新高,这使得年内的通货膨胀压力正在增强。

问题1:根据附录建立数学模型,将所涉及食品适当分类,并分析每类食品的特点;问题2:根据附录建立数学模型,预测2011年4、5月的城市居民食品零售价格走势;问题3:写一篇城市居民食品零售价格情况分析和对有关部门建议的文章。

附录是2010.3~2011.4的城市居民食品零售价格数据,数据来源:/cms/frontpage/price_monitor/PriceTypeList.action?type=1B题:水量计算问题辐射井是由一口大口径的竖井和自竖井内周围含水层任意方向、高程打进一层数条水平辐射管组成,地下水沿水平辐射管汇集到竖井中。

辐射井与常规井相比,具有出水量大、寿命长、管理费用低、维修方便、便于集中管理等优点。

从20世纪60年代以来,辐射井技术已在我国推广应用。

如辐射井在华北深基坑工程降水中,取得了较好的效果。

随着北京东直门地铁站采用辐射井降水技术取得成功,目前辐射井技术在地铁施工又发挥着重要作用。

辐射井的出水量,是设计和布置辐射井工作中所需要解决的问题之一。

试在下列假定条件下:(1)潜水含水层均质,隔水底板水平,在平面上无限分布;不考虑水和介质骨架的压缩性。

数学建模入门(第一讲)

数学建模入门(第一讲)
变量并不都需要显示的申明 局部变量 在程序中可以定义变量。每个 函数体内部也可以定义自己的变量, 这些变量如果不用global声明,则不 能从其他函数和MATLAB工作空间中访 问这些变量,这样的变量就是局部变 量。
LOGO
全局变量 如果要使得其他函数和MATLAB工作空 间使用这些变量,则定义为全局变量,用 “global”声明。 全局变量需要在函数体对变量的赋值语句前说明, 整个函数以及所有对函数的递归调用都可以利 用全局变量。 变量命名建议: 变量名尽量反映其含义,如汽车数量用numcar, num_car捕鱼收入用incomefish,income_fish。 局部变量名尽量采用小写全局变量名尽量大写
七、问题解决
x 2 1 x 1 例3 f ( x) , 求f (2), f (1) x 1 2x
function f=fun1(x) If x>1 f=x^2+1; else f=2*x; end
LOGO
在命令窗口中输入 >>fun1(2),fun1(-1)
(1)打开M文件,输入:
LOGO
function y=xy(x)
if x<=0 y=0 elseif x<=1 y=1 elseif x<=2 y=2*x else y=2*x+5 end LOGO
LOGO
LOGO
五、问题解决
例2 定义函数f(x,y)=x2+sinxy+2y,并求f(1,2)
(1)建立M文件:fun.m function f=fun(x) f=x^2+sin(x*y)+2*y (2)使用函数fun.m在Matlab命令窗口键入命令 >>x=[1 2]; >>fun(x)

数学建模基础(入门必备)

数学建模基础(入门必备)

一、数学模型的定义现在数学模型还没有一个统一的准确的定义,因为站在不同的角度可以有不同的定义。

不过我们可以给出如下定义:“数学模型是关于部分现实世界和为一种特殊目的而作的一个抽象的、简化的结构。

”具体来说,数学模型就是为了某种目的,用字母、数学及其它数学符号建立起来的等式或不等式以及图表、图象、框图等描述客观事物的特征及其内在联系的数学结构表达式。

一般来说数学建模过程可用如下框图来表明:数学是在实际应用的需求中产生的,要解决实际问题就必需建立数学模型,从此意义上讲数学建模和数学一样有古老历史。

例如,欧几里德几何就是一个古老的数学模型,牛顿万有引力定律也是数学建模的一个光辉典范。

今天,数学以空前的广度和深度向其它科学技术领域渗透,过去很少应用数学的领域现在迅速走向定量化,数量化,需建立大量的数学模型。

特别是新技术、新工艺蓬勃兴起,计算机的普及和广泛应用,数学在许多高新技术上起着十分关键的作用。

因此数学建模被时代赋予更为重要的意义。

二、建立数学模型的方法和步骤1. 模型准备要了解问题的实际背景,明确建模目的,搜集必需的各种信息,尽量弄清对象的特征。

2. 模型假设根据对象的特征和建模目的,对问题进行必要的、合理的简化,用精确的语言作出假设,是建模至关重要的一步。

如果对问题的所有因素一概考虑,无疑是一种有勇气但方法欠佳的行为,所以高超的建模者能充分发挥想象力、洞察力和判断力,善于辨别主次,而且为了使处理方法简单,应尽量使问题线性化、均匀化。

3. 模型构成根据所作的假设分析对象的因果关系,利用对象的内在规律和适当的数学工具,构造各个量间的等式关系或其它数学结构。

这时,我们便会进入一个广阔的应用数学天地,这里在高数、概率老人的膝下,有许多可爱的孩子们,他们是图论、排队论、线性规划、对策论等许多许多,真是泱泱大国,别有洞天。

不过我们应当牢记,建立数学模型是为了让更多的人明了并能加以应用,因此工具愈简单愈有价值。

数学建模Matlab基础ppt课件-PPT文档资料

数学建模Matlab基础ppt课件-PPT文档资料

当前目录窗口
工作间管理窗口
演示工具
命令窗口
Figure1-1 MATLAB桌面平台 启动菜单 命令历史窗口
(2)MATLAB的帮助系统 有三种方式获得MATLAB帮助: ①通过使用帮助浏览器(Figure1-2) ②命令窗口help系列。使用方式是在命令 行输入help,help+函数名,Helpwin或者 helpdesk。 ③使用lookfor函数。若要查找一个不知其 确切名称的函数名时使用。 其他常用查询辅助命令: exist 变量检验函数,检验变量是否存在。 Figure1-2 帮助浏览器
ans eps pi inf NaN i 或 j nargin nargout realmax realmin flops
预设的计算结果的变量名 MATLAB定义的正的极小值=2.2204e-16 内建的π 值 ∞值,无限大 无法定义一个数目 虚数单位i=j=√-1 函数输入参数个数 函数输出参数个数 最大的正实数 21023 最小的正实数2-1022 浮点运算次数
命令
hold disp path save load diary quit
说明
图形保持开关 显示变量或文字内容 显示搜索路径 保存内存变量到指定文件 加载指定文件的变量 日志文件命令 退出MATLAB
标点
: ; , () [] {}
定义
具有多种应用功能 区分行及取消运行显示等 区分列及函数参数分隔符 指定运算过程的先后顺序 矩阵定义的标志等 构成单元数组等
在定义变量时要尽量与避免与这些名字相同,以免改变它们的值,如果已经改 变,可以通过clear + 变量名 来恢复它的初始值,也可以通过重新启动MATLAB 恢复这些值。
2、数字变量

LINGO软件入门(数学建模所需)

LINGO软件入门(数学建模所需)

ROW SLACK OR SURPLUS DUAL PRICES 2) 3) 4) 0.000000 0.000000 40.000000 2 48.000000 2.000000 0.000000
reduced cost值表 示当该非基变量 增加一个单位时 (其他非基变量 保持不变)目标 函数减少的量(对 max型问题) 也可理解为: 为了使该非基变 量变成基变量, 目标函数中对应 系数应增加的量
x1 x2 50
12x1 8x2 480
约束条件
劳动时间 加工能力 非负约束
3x1 100 x1 , x2 0
线性 规划 模型 (LP)
模型求解
OBJECTIVE FUNCTION VALUE
1)
VARIABLE X1
3360.000
VALUE 20.000000
X2
30.000000
1桶 牛奶 或
12小时
3公斤A1 4公斤A2
获利24元/公斤 获利16元/公斤
8小时 每天 50桶牛奶 时间480小时 至多加工100公斤A1 决策变量 x1桶牛奶生产A1 x2桶牛奶生产A2
目标函数
获利 24×3x1 获利 16×4 x2 每天获利 Max z 72x1 64x2 原料供应
对偶计算,包括对偶 价格和敏感性分析
要使用敏感性分析 必须要在这选择 使用敏感性分析
结果解释
LINGO︱Range
RANGES IN WHICH THE BASIS IS UNCHANGED: OBJ COEFFICIENT RANGES VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

自己整理MATLAB知识1入门例1-1 绘制正弦曲线和余弦曲线。

x=[0:0.5:360]*pi/180;plot(x,sin(x),x,cos(x));例1-2 求方程3x4+7x3+9x2-23=0的全部根。

p=[3,7,9,0,-23]; %建立多项式系数向量x=roots(p) %求根例1-3 求积分quad('x.*log(1+x)',0,1) %‘里是被积函数’0,1分别是积分上下限例1-4 求解线性方程组。

a=[2,-3,1;8,3,2;45,1,-9]; %方程左面系数b=[4;2;17]; %方程右面系数x=inv(a)*b %也可是x=a\b的形式例1-5 水仙花for m=100:999m1=fix(m/100); %求m的百位数字m2=rem(fix(m/10),10); %求m的十位数字m3=rem(m,10); %求m的个位数字if m==m1*m1*m1+m2*m2*m2+m3*m3*m3disp(m)endend例1-6 已知,当n=100时,求y的值。

程序如下:y=0;n=100;for i=1:ny=y+1/(2*i-1);endy例1-7 求[100,200]之间第一个能被21整除的整数for n=100:200if rem(n,21)~=0continueendbreakendn例1-8 若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是完数。

求[1,500]之间的全部完数。

for m=1:500s=0;for k=1:m/2if rem(m,k)==0s=s+k;endendif m==sdisp(m);endend例1-9 绘制曲线t=0:0.1:2*pi;x=t.*sin(3*t);y=t.*sin(t).*sin(t);plot(x,y);例1-10 用不同标度在同一坐标绘制曲线y1=0.2e-0.5xcos(4πx) 和y2=2e-0.5xcos(πx) 程序如下x=0:pi/100:2*pi;y1=0.2*exp(-0.5*x).*cos(4*pi*x);y2=2*exp(-0.5*x).*cos(pi*x);plotyy(x,y1,x,y2);例1-11 绘制三维曲线t=0:pi/100:20*pi;x=sin(t);y=cos(t);z=t.*sin(t).*cos(t);plot3(x,y,z);title('Linein 3-D Space');xlabel('X');ylabel('Y');zlabel('Z');grid on;例1-12 绘制三维曲面[x,y]=meshgrid(0:0.25:4*pi);z=sin(x+sin(y))-x/10;mesh(x,y,z);axis([0 4*pi 0 4*pi -2.5 1]);例1-13 使用switch结构判断学生成绩的等级,90分以上为优,80~90为良,70~80为中,60~70为及格,60分以下为不及格。

score=98;s1=fix(score/10); %取十位数switch s1case {9,10}s='优'case 8s='良'case 7s='中'case 6s='及格'otherwises='不及格'end例1-14 使用for结构计算1+2+3+…+100 sum=0;for i=1:100sum=sum+i;endsum另一种方法:i=1;100;a=sum(i)第三种方法:sum=0; i=1;while i<=100sum=sum+i;i=i+1;endsum例1-15例1-16 鸡兔同笼问题:鸡和兔子关在一个笼子里,已知共有头36个,脚100个,求笼关了多少只兔子和多少只鸡?chicken=1;while 1if chicken+(100-2*chicken)/4==36break;endchicken=chicken+1;endchickenrabbit=(100-2*chicken)/4例1-17 设银行年利率为11.25%.将10000元钱存入银行,问多长时间会连本带利翻一番?money=10000;years=0;while money<20000years=years+1;money=money*(1+11.25/100)end例1-18 小猴吃桃问题有一天小猴摘下了若干个桃子,当即吃掉了一半,又多吃了一个.第二天接着吃了剩下的一半,又多吃了一个以后每天都是吃掉尚存的桃子的一半零一个.到第十天早上,小猴准备吃桃子时,看到只剩下 1 个桃子了.问小猴第一天共摘下了多少个桃子?k=10;p(k)=1;while k>=2k=k-1;p(k)=2*(p(k+1)+1);endp(1)另一种方法:x(1)=1;for i=2:10;x(i)=(x(i-1)+1)*2 ;endx(10)第三种方法:m=1;for i=1:9m=2*(m+1);endm例1-19 对任一自然数n,按如下法则进行运算:若n为偶数, 则将n除2;若n为奇数,则将n乘3加1。

将运算结果按上面法则继续运算, 重复若干次后计算结果最终是1.n=input(‘input n=’); %输入数据while n~=1r=rem(n,2); %求n/2的余数if r = =0n=n/2 %第一种操作elsen=3*n+1 %第二种操作endend例1-20 利用for循环求1!+2!+3!+…. +5!的值sum=0;for i=1:5sum=sum+prod(1:i);endsum例1-21 求向量x的各元素的平方和x = input (‘x=’);s=0;for i=1:length(x)s=s+x(i)^2;ends例1-22 计算f(x)=ex,使用break语句当f(x)>1000时终止计算。

x=0:10;for n=xf=exp(n);if f>1000breakendend例1-23 使用for循环将字符串中的数值取出,遇到非数值则跳过。

str='The result is 100.';len=length(str);s=[ ];for n=1:lenif str(n)>'9' | str(n)<'0' %非数值时 continueends=[s str(n)]end例1-24x=-5:0.1:5;if x>=1y=x.^2-1;elseif -1<x<1y=0;elsey=-x.^2-1;endplot(x,y);例1-25 计算s=0;for i=1:10000s=s+1/2^(i+2);end例1-26 用循环求解最小的m ,使其满足 s=0;221101111x x x x x ⎧-≥⎪-<<⎨⎪-+≤-⎩∑=+100001221i i ∑=>m i i 110000while (s<=10000) m=m+1; s=s+m; end例1-27 编写M 脚本文件,分别使用for 和while 循环语句计算 ,当sum>1000时终止程序。

for 循环 clear sum=0 for n=1:1000 sum=n^n+sum if sum>1000 break end end while 循环 sum=0;n=1; while sum<1000 sum=n^n+sum n=n+1∑==101i i isum例1-28 考虑两个多项式a(x)=x3+2x2+3x+4和b(x)= x3+4x2+9x+16的乘积:a=[1 2 3 4] ; b=[1 4 9 16];c=conv(a , b)c =1 6 20 50 75 84 64结果是c(x)=x6+6x5+20x4+50x3+75x2+84x+64。

两个以上的多项式的乘法需要重复使用conv。

例1-29 设x=[1,2,3,4,5,6]; y=[2,5,12,16,13,11];试用这6个散点,拟合一条3次多项式曲线.x=[1,2,3,4,5,6]; y=[2,5,12,16,13,11];f=polyfit(x,y,3);X=linspace(0,6,100);Y=polyval(f,X);plot(x,y,'ro',X,Y,'B-','linewidth',5);例1-30 求极限函数 limit格式 limit(F,x,a) %计算符号表达式F=F(x)的极限值,当x→a 时。

limit(F,a) %用命令findsym(F)确定F中的自变量,设为变量x,再计算F的极限值,当x→a时。

limit(F) %用命令findsym(F)确定F中的自变量,设为变量x,再计算F的极限值,当x→0时。

limit(F,x,a,'right')或limit(F,x,a,'left') %计算符号函数F 的单侧极限:左极限x→a- 或右极限x→a+。

syms x a t h n;L1 = limit((cos(x)-1)/x)L2 = limit(1/x^2,x,0,'right')L3 = limit(1/x,x,0,'left')L4 = limit((log(x+h)-log(x))/h,h,0)v = [(1+a/x)^x, exp(-x)];L5 = limit(v,x,inf,'left')L6 = limit((1+2/n)^(3*n),n,inf)例1-31 求导函数 diffsyms x y tD1 = diff(sin(x^2)*y^2,2)D2 = diff(D1,y)D3 = diff(t^6,6)计算结果为:D1 = -4*sin(x^2)*x^2*y^2+2*cos(x^2)*y^2D2 = -8*sin(x^2)*x^2*y+4*cos(x^2)*yD3 = 720格式 diff(S,'v')、diff(S,sym('v')) %对表达式S中指定符号变量v计算S的1阶导数。

diff(S) %对表达式S中的符号变量v计算S的1阶导数,其中v=findsym(S)。

diff(S,n) %对表达式S中的符号变量v计算S的n阶导数,其中v=findsym(S)。

相关文档
最新文档