一、脚本文件和函数文件
1.1 M脚本文件
- M文件是由若干条MATLAB命令组合在一起构成的,它可以完成某些操作,也可以实现某种算法
- 运行M文件的时候,MATLAB会自动依次执行文件中的命令,直到所有命令全部执行完毕
- M文件运行后,所产生的变量全部都驻留在MATLAB的基本工作空间中
- MATLAB提供的内部函数以及各种工具箱,都是利用MATLAB语言开发的M文件
1.1.1 M文件分类
- script脚本文件(命令文件)
- function函数文件
1.1.2 文本文件
拓展名为.m
1.1.3 编辑
M文件编辑器
Windows的记事本
word文件
1.1.4 M文件建立
1.新建M文件:快捷键/右键菜单
2.新建M文件:word/记事本
1.1.5 M脚本文件
- 一串命令简单叠加的集合
- 自动按顺序执行文件的命令
- 无输入和输出量
- 所有变量都驻留在基本工作空间中
- 所有变量均为全局变量
1.1.6 数据输入
从键盘输入数据给变量A
A = input('提示信息') % 输入数值变量
A = input('提示信息', 's') % 输入字符串变量
1.1.7 输出
数据输出
disp(x) % display数值变量
disp('字符串')
格式化输出
指定格式将变量的值输出到屏幕或指定文件
fprintf(format, A, ...)
format格式:
%d整数,%e实数,%f实数(小数形式),%s字符串
1.2 函数文件
1.2.1 M函数文件
- 与脚本文件不同函数文件从外界只能看到传给他的输入量和送过来的计算结果,而内部运作是透明的
- 创建函数文件时,函数名称必须与函数文件名称一致
1.2.2 脚本文件与函数文件的区别

1.3 局部变量和全局变量
1.3.1 局部变量和全局变量概述
局部变量
- 仅存在于函数空间内部的中间变量,产生与该函数的运行过程中,其影响范围也仅限于该函数本身
- 函数文件变量不能直接访问变量空间中的全局变量,它通过函数参数传入全局变量
全局变量 - 全局变量驻留在变量空间中,全程有效;脚本文件中,随时可以修改全局变量
- 函数都可以通过传参的方式,访问全局变量(值传递)
1.3.1 函数中修改全局变量
函数中通过定义来访问或者修改全局变量
- 在函数中使用和修改全局变量值,需要现在脚本文件中定义该变量
- 然后在函数文件中定义全局变量
global S % 定义全局变量S
二、函数类别
2.1 主函数与子函数
- 一个函数文件可包含多个函数,第一个主函数,其他子函数
- 主函数必须在最前面,子函数仅被主函数或同一文件其他子函数所调用
- 同一文件的主函数、子函数之间的信息通过输入输出变量传递或通过全局变量传递
2.2 匿名函数
函数很简单的时候不需要创建M文件
FH = @(xlist)expressi
- 以@开头
- FH是匿名函数的句柄
- xlist为输入参数列表
- expression为函数体
匿名函数的调用方法
- 直接调用:FH(xlist)
- 间接调用:feval(FH,xlist)

>> fun = @(x)exp(-x.*x);
>> Isim = integral(fun, 0, 1)
Isim =
0.7468
三、函数句柄
3.1创建函数句柄的两种方式
hfun = @+函数名
hfun = str2func('fun')
四、MATLAB程序控制流
4.1 if-else-end分支结构


4.2 多分支结构

4.3 switch开关语句
4.4 for循环

y = 0;
n = 100;
for k = 1 : n
y = y + 1 / (2*k-1);
end

for m=100:999
m1=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*m3
disp(m)
end
end