当前位置:
文档之家› matlab数学建模程序and语法
matlab数学建模程序and语法
注释说明语句段
程序语句段
特定规则:
1. 函数m文件第一行必须以单词function作为引导词, 必须遵循如下形式:
function <因变量>=<函数名>(<自变量>)
2. m文件的文件名必须是<函数名> .m。
3. 程序中的变量均为局部变量,不保存在工作空间中。
其变量只在函数运行期间有效。
12
1. 匿名函数
17
if语句
if表达式 else end
程序模块1 程序模块2
18
if语句的两种变形
• (1) 单分支if语句:只有一个分支的选择结构
if表达式 程序模块
end
• (2) 多分支if语句:超过2个的选择
if表达式1
程序模块1
elseif 表达式2
程序模块2
…
elseif 表达式n
程序模块n
else
% K = RANK(X) is the number of singular values of X
% that are larger than MAX(SIZE(X)) * NORM(X) * EPS.
% K = RANK(X,tol) is the number of singular values of X that are larger than tol.
matlab自定义的函数文件称内置函数文件
调用内置函数的方法:使用函数名并给出相应的入 口、出口参数即可。
1
例如:sin.m函数。
0.8
调用格式:y=sin(2*x)
0.6
实际应用中:
0.4
0.2
x=0:2*pi/180:2*pi;
0
y=sin(2*x)
-0.2
plot(x,y)
-0.4
9
-0.6
又如 sqrt(x) —— 求x的平方根 abs(x)—— 求x的绝对值 det(a)—— 求行列式的值
命令行方式程序可读性差,而且不能存储,对于复杂的 问题,应编写成能存储的程序文件。
3
• m文件模式
将matlab语句构成的程序存储成以m为 扩展名的文件,然后再执行该程序文件, 这种工作模式称为程序文件模式。
程序文件不能在指令窗口下建立,因为指 令窗口只允许一次执行一行上的一个或几 个语句。
程序模块n+绩转换为五级制的成绩输 出
clear n=input('输入n= '); if n>=90
r='A' elseif n>=80
r='B' elseif n>=70
4
二、m文件的创建
• m文件的类型是普通的文本文件,我们可以 使用系统认可的文本文件编辑器来建立m文件。
• 具体的创建方法: 1. 在matlab命令窗
口点击file 菜单 new m-file
5
6
2. m文件
m文件的语法类似于c语言,但又有其自身特 点。
m文件有两类独立的m文件 — 称命令文件
% Copyright (c) 1984-94 by The MathWorks, Inc.
s = svd(x);
if (nargin == 1) tol = max(size(x)) * max(s) * eps;
程序部分
end
r = sum(s > tol);
8
(2) matlab内置函数文件
0 71.72 49.389 33.131 22.209
14
MATLAB程序结构
• 按照程序设计的观点, 任何算法功能都可以 通过由程序模块组成的三种基本程序结构 的组合来实现:
– 顺序结构:程序按程序语句或模块在执行流中 的顺序逐个执行。
– 选择结构:程序按设定的条件实现程序执行流 的多路分支。
函 数是 指具 有输 入和 输出 的语 句体 .匿名 函数能 创建由表达式定义的简单函数. 在一段程序中,后定 义的匿名函数可以调用已定义过的匿名函数. 格式:
fhandle=@(arglist) expr expr 指用来定义函 数的表达式,相当于函数体;圆括号内的 arglist 是以 逗号分隔的输入变量名列表;“@”创建函数句柄, 用来调用函数;“=”是赋值号;fhandle 是保存函数 句柄的变量名,调用它,就可以调用它保存的函数.
13
1. 匿名函数
例 1.3.9 创建函数 f (x) a1(ea2x ea3x ) ( x [0, 24] )的 匿名函数,并当 a1 =110, a2 =−0.2, a3 =−2 时,分别 计算 x 取值为 0、2、4、6 和 8 时对应的函数值.
>> f=@(a,x)a(1).*(exp(a(2).*x)-exp(a(3).*x)); >> y=f([110,-.2,-2],0:2:8) y=
可调用m文件 — 称函数文件
(1). 命令文件 — 独立的m文件
命令文件实际上是一串指令的集合,与在命 令窗口逐行执行文件中的所有指令,其结果是 一样的。没有输入输出参数。
7
• 命令文件包括两部分:注释文件和程序文 件
• %RANK Number of linearly independent rows or columns.
第3章 MATLAB程序设计
L/O/G/O
1
—— Matlab语言称为第四代编程语言, 程序简洁、可读性很强而且调试十分容易, 是Matlab的重要组成部分。
2
一、matlab的工作模式
• 命令行 模式(指令驱动模式)
命令行操作时,matlab窗口只允许一次执行一行上 的一个或几个语句。
• 在matlab窗口输入数据和命令进行计算时,当处理复 杂问题和大量数据时是不方便的。
– 循环结构:程序按给定的条件重复地执行指定 的程序段或模块。
15
1顺序结构
程序模块1 程序模块2
• MATLAB中实现顺序结构的方法非常简 单:
– 只需将程序语句顺序排列即可
16
2 选择结构
成立
不成立
条件
程序模块1
程序模块2
• 在MATLAB中,选择结 构由两种语句结构实现:
– if语句 – switch语句
等等。
matlab拥有大量的内置数学函数,供我们在数 值运算和符号运算中调用。
10
(3) 函数m文件— 需要输入变量,返 回输出变量
matlab用户可以根据需要编辑自己的m 文件,它们可以像库函数一样方便的调 用,从而极大地扩展了matlab 的能力。
11
函数m文件的格式:
function 返回变量=函数名(输入变量)