Matlab 程序语法学习(三)

    技术2022-07-10  129

    一、顺序结构设计

    (1)程序的定义:程序控制下自动工作,为了完成不同的任务,需要设计不同的算法

    (2)程序设计的过程:

     (3)程序文件分脚本文件和函数文件,文件建立

    例子:建立两种文件实现矩阵乘积 

    (4)数据的输入输出:

    A= input(‘请输入变量A的值’) >>A = 100 disp(A) %输出A的值

    (5)程序的暂停:pause(延迟函数)

    举例:

     

    提示:可以转化成复数直接求模的形式求线段长度 

     

     

     

     二、选择结构

    (1)选择结构定义:别称为分支结构,是根据给定的条件是否成立来决定程序的执行流程。

    (2)  单分支语句组:

    (3)双分支条件语句:

     

    举例:求奇数平方根或者偶数立方根 

    x = input('请输入x的值:'); if rem(x,2) == 1 y = sqrt(x); else y = x^(1/3); end % pow可以求指数

     (4)多分支语句:

    例二:输入字符,大写->小写 ;小写->大写; 数字求平方

     

    三、Switch语句 

    (1)格式:

    (2)值可以列举

    举例:判断英文单词是否元音字母开头 

    %或者 c = input('请输入一个单词:'','s'); if findstr(c(1),'AEIOUaeiou')>0 disp([c,'以元音字母开头']); else disp([c,'以辅音字母开头']); end

     四、for语句实现循环结构

    (1)什么是循环结构:

     (2)格式:

     (3)说明:

     举例:求圆周率

    (1)利用无穷级数:

     

    %(1) y = 0 g = -1 n = input('n=?'); for i = 1:n g = -g; y = y+g*1/(2*i-1); end pai = 4*y %(2) n = input('n=?'); x = 1:2:(2*n-1); y = (-1).^(2:n+1)./x; pai = sum(y)*4

     (2)利用定积分求近似值:

     

    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)

     (3)蒙特卡洛法求值:

     

    s = 0; n = input('n=?'); for i = 1:n x = rand(1); y = rand(1); if x*x+y*y<=1 s = s+1; end end pai = s/n*4;

    (3)for语句也可以是列向量,行向量 4次   列向量一次;

    五、while循环

    (1)格式:(适用于次数不确定的情况下)可以通过continue和break控制循环

     举例:

     (2)循环嵌套:筛选法求素数)

    m = input('m='); p = 1:m; p(1) = 0; for i = 2:sqrt(m) for j=2*i:i:m p(j) = 0; end end n = find(p~=0); p(n)

    六、函数文件的定义和调用

    (1)函数文件的基本结构:(函数文件名和函数名区别很大,尽量统一)

     例题:

     (2)匿名函数:

     例题:

     七、函数递归

    (1)函数嵌套调用:一个函数调用其他函数

    (2)递归调用:调用自身,计算开销大

    (3)分类:

     例题:Fibonacci数列

     

    Processed: 0.011, SQL: 9