一、文件建立
二、顺序结构
数据的输入
- 当条件结果为标量时,非零表示条件成立,零表示条件不成立
- 当条件结果为矩阵时,如果矩阵为非空,且不包含零元素,则条件成立,否则不成立
双分支if语句
语句格式:if 条件
语句组1
else
语句组2
end
多分支if语句
语句格式:if 条件1 语句组1 elseif 条件2 语句组2 ··· elseif 条件m else 语句组n end
三、switch语句的格式
switch 表达式 case 结果表1 语句组1 ··· case 结果表m 语句组m otherwise 语句组n end
四、for循环
格式与一般用法
``` //格式 for 循环变量=表达式1(初值):表达式2(步长):表达式3(终值) 循环体语句 end
//for语句针对向量的每一个元素执行一次循环体 //退出循环后,循环变量的值就是向量中最后的元素值 //当向量为空时,循环体一次也不执行 //for k=[1,2,3] 执行3次 //for k=[1;2;3] 执行1次
<a name="BahHy"></a>
## 求π
<a name="x0mPM"></a>
### for循环求π
y=0; g=-1; n=input(‘n=?’); n=?5 for i=1:n g=-g; y=y+g1/(2i-1); end pai=4*y
pai =
3.3397
<a name="hq32c"></a>
### 向量求和方式求π
//向量求和的方式求pi n=input(‘n=?’); x=1:2:(2n-1); y=(-1).^(2:n+1)./x; pai=sum(y)4
<a name="AkI0R"></a>
### 定积分求π
a=0 b=1 n=input(‘n=?’); h=(b-a)/n; x=a:h:b; f=sqrt(1-x.x); s=[]; for k=1:n s1=(f(k)+f(k+1))h/2; s=[s,s1]; end pai=4*sum(s)
<a name="v7jI0"></a>
### 蒙特卡洛法求π
![image.png](https://cdn.nlark.com/yuque/0/2022/png/12614980/1644287434621-f4974743-0e42-4690-b1d6-2335a35fe4f3.png#align=left&display=inline&height=251&id=u2c31a310&margin=%5Bobject%20Object%5D&name=image.png&originHeight=327&originWidth=689&size=115189&status=done&style=none&width=529.5)
s=0; n=input(‘n=?’); for i=i:n; x=rand(1); y=rand(1); if xx+yy<=1 s=s+1; end end pai=s/n*4
<a name="TwbJI"></a>
# 五、while语句
<a name="I7QX2"></a>
## 格式
while 条件 循环体语句 end
<a name="du8qB"></a>
## break语句 continue语句
- break 跳出结束循环
- continue 结束本次循环
<a name="CP2iA"></a>
# 六、函数文件的定义和调用
<a name="y7DrF"></a>
## 函数文件基本结构
- function 输出形参表=函数名(输入形参表)
- 当有多个形参时,形参之间用逗号分隔,组成形参表
- 当输出形参多余一个时,应用方括号括起来,构成一个输出矩阵
- 函数文件名通常由函数名加上拓展名.m组成,函数文件名与函数名可以不同
- return语句表示结束函数执行,返回参数,函数中可以没有
<a name="SDuQd"></a>
## 函数调用
- [输出实参表】=函数名(输入实参表)
<a name="FkQ1v"></a>
## 匿名函数
<a name="jtjad"></a>
### 格式
- 函数句柄变量=@(匿名函数输入参数)匿名函数表达式
- @ 是函数句柄的运算符
- 可给函数表达式定义句柄,如下:
f=@(x,y)x^2+y^2 f= @)(x,y)x^2+y^2 f(3,4) ans = 25 ```
函数参数与变量的作用域
函数参数的可调性
- nargin 输出实参个数
- nargout 输出实参个数 ``` //创建函数文件test.m function fout=text(a,b,c) if nargin==1 fout=a; elseif nargin==2 fout=a+b; elseif nargin==3 fout=(abc)/2; end
//在命令窗口执行
fout=text(2) fout= 2 fout=test(2,3,2) fout= 6 ```
全局变量和局部变量
- 全局变量定义格式
- global 变量名