一、文件建立

image.png
image.png

二、顺序结构

数据的输入

  • A=input(’请输入变量A的值’);

    数据的输出

  • disp(输出项);

    程序的暂停

  • pause(延迟秒数)

  • ctrl+C命令可以强制中止程序的运行

    三、if分支语句

    单分支if语句

  1. 当条件结果为标量时,非零表示条件成立,零表示条件不成立
  2. 当条件结果为矩阵时,如果矩阵为非空,且不包含零元素,则条件成立,否则不成立

    双分支if语句

    语句格式:
    1. if 条件
    2. 语句组1
    3. else
    4. 语句组2
    5. 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 ```

  • 给已有函数定义句柄
  • 函数句柄变量=@ 函数名

    >>h=@sin
    h=
    @sin
    >>h(pi/2)
    ans=
     1
    

    函数的递归调用

  • 嵌套调用:函数调用另一个函数

  • 递归调用:自己调用自己

image.png
image.png

函数参数与变量的作用域

函数参数的可调性

  • 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 变量名