matlab循环语句教案资料.docx

上传人:b****0 文档编号:324778 上传时间:2022-10-08 格式:DOCX 页数:12 大小:20.79KB
下载 相关 举报
matlab循环语句教案资料.docx_第1页
第1页 / 共12页
matlab循环语句教案资料.docx_第2页
第2页 / 共12页
matlab循环语句教案资料.docx_第3页
第3页 / 共12页
matlab循环语句教案资料.docx_第4页
第4页 / 共12页
matlab循环语句教案资料.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

matlab循环语句教案资料.docx

《matlab循环语句教案资料.docx》由会员分享,可在线阅读,更多相关《matlab循环语句教案资料.docx(12页珍藏版)》请在冰豆网上搜索。

matlab循环语句教案资料.docx

matlab循环语句教案资料

 

matlab循环语句

 matlab基本语句

1.循环语句for

for  i=s1:

s3:

s2

    循环语句组

end

解释:

首先给i赋值s1;然后,判断i是否介于s1与s2之间;如果是,则执行循环语句组,i=i+s3(否则,退出循环.);执行完毕后,继续下一次循环。

例:

求1到100的和,可以编程如下:

   sum=0

   for i=1:

1:

100

     sum=sum+i

   end

   这个程序也可以用while语句编程。

   

   注:

for循环可以通过break语句结束整个for循环.

2.循环语句while

  例:

sum=0;i=1;

      while(i<=100)

       sum=sum+i;i=i+1;

      end

      

3.if语句

  if(条件)

    语句

  end

  

  if(条件)

    语句

  else

    语句

  end

 

  if(条件)

    语句

  elseif

    语句

  end

  

  

4.关系表达式:

 =,>,<,>=,<=,==(精确等于)

5.逻辑表达式:

|(或),&(且)

6.[n,m]=size(A)(A为矩阵)

这样可以得到矩阵A的行和列数

n=length(A),可以得到向量A的分量个数;如果是矩阵,则得到矩阵A的行与列数这两个数字中的最大值。

7.!

后面接Dos命令可以调用运行一个dos程序。

8.常见函数:

poly():

为求矩阵的特征多项式的函数,得到的为特征多项式的各个系数。

如a=[1,0,0;0,2,0;0,0,3],则poly(a)=1    -6    11    -6。

相当于poly(a)=1入^3+(-6)入^2+11入+(-6)。

compan():

可以求矩阵的伴随矩阵.

sin()等三角函数。

MATLAB在数学建模中的应用(3)

 

  一、程序设计概述

  MATLAB所提供的程序设计语言是一种被称为第四代编程语言的高级程序设计语言,其程序简洁,可读性很强,容易调试。

同时,MATLAB的编程效率比C/C++语言要高得多。

  MATLAB编程环境有很多。

常用的有:

  1. 命令窗口

  2. word窗口

  3. M-文件编辑器,这是最好的编程环境。

  M-文件的扩展名为“.m”。

M-文件的格式分为两种:

  ①λM-脚本文件,也可称为“命令文件”。

  ② M-函数文件。

这是matlab程序设计的主流。

λ

   保存后的文件可以随时调用。

   二、MATLAB程序结构

  按照现代程序设计的观点,任何算法功能都可以通过三种基本程序结构来实现,这三种结构是:

顺序结构、选择结构和循环结构。

其中顺序结构是最基本的结构,它依照语句的自然顺序逐条地执行程序的各条语句。

如果要根据输入数据的实际情况进行逻辑判断,对不同的结果进行不同的处理,可以使用选择结构。

如果需要反复执行某些程序段落,可以使用循环结构。

  1  顺序结构

顺序结构是由两个程序模块串接构成。

一个程序模块是完成一项独立功能的逻辑单元,它可以是一段程序、一个函数,或者是一条语句。

 

  看图可知,在顺序结构中,这两个程序模块是顺序执行的,即先执行<程序模块1>,然后执行<程序模块2>。

实现顺序结构的方法非常简单,只需将程序语句顺序排列即可。

2  选择结构

  在MATLAB中,选择结构可由两种语句来实现。

  

(1)  if语句

  if语句的最简单用法为:

    if  表达式;

     程序模块;

    end

  if语句的另一种用法为:

    if  表达式

     程序模块1

    else

     程序模块2

    end

  例1  使用if语句判断学生的成绩是否及格。

  程序:

   clear  

   n=input(’输入n= ’)  

   m=60;

   if  n<m,

r=’不及格’

        else

        r=’及格’

   end

   练习一:

将例1写入M-文件编辑器,然后在command window 调用这个程序。

   当针对多个条件进行选择时,可以采用下面的格式:

    if 表达式1 

        程序模块1

         elseif  表达式2 

                 程序模块2

           ……   ……

            elseif  表达式n

                    程序模块n 

        else  

           程序模块n+1

       end

  例2  将百分之的学生成绩转换为五分制输出。

  程序:

 clear

 n=input(’输入n= ’)

 if  n>=90

 chji=’优秀’

 elseif  n>=80

 chji=’良好’

 elseif  n>=70

 chji=’中等’

 elseif  n>=60

 chji=’及格’

 else

 chji=’不及格’

 end

  练习二:

将例2写入M-文件编辑器,然后在command window 调用这个程序。

  

(2)  switch语句

  switch语句可以替代多分支的if语句,而且switch语句简洁明了,可读性更好。

其格式为:

   switch  表达式   

   case  数值1     

          程序模块1

   case  数值2

          程序模块2

   ……

   otherwise

   程序模块n

   end

其中的otherwise模块可以省略。

  switch语句的执行过程是:

首先计算表达式的值,然后将其结果与每一个case后面的数值依次进行比较,如果相等,则执行该case的程序模块;如果都不相等,则执行otherwise模块中的语句。

如图3所示。

 

  例3  用switch…case开关结构将百分制的学生成绩转换为五分制的成绩输出。

  程序:

 clear

 x=58  

 switch  fix(x/10)

    case  {10,9}

        y=’优秀’

    case  8

        y=’良好’

    case  7

        y=’中等’

    case  6

        y=’及格’

    otherwise

        y=’不及格’

 end  

  练习三:

将例3写入M-文件编辑器,然后在command window 调用这个程序。

  3  循环结构

  循环结构的流程图如图4所示它可以多次重复执行某一组语句。

循环是计算机解决问题的主要手段。

 

  在MATLAB中,循环结构可以由两种语句结构实现。

  

(1) for…end循环结构。

其格式为:

                       for i=V,循环体结构,end

   其中V为一个行向量,循环变量i每次从V中取一个数值,执行一次循环体的内容,如此下去,直到完成V中的所有分量,就自动结束循环体的执行。

  例4    计算  s=12+22+52。

  程序:

  a=[1 2 5 ]; s=0; 

  for k=a, 

    s=s+k^2; 

  end, 

   s,  

  该例题只是为了说明for语句的格式,事实上,用下面的语句求和更为简单。

  命令:

    p=sum(a.^2)  

  练习四:

建立MATLAB与word的连接,在新建的m-book中写入上面的程序,并用notebook菜单运行之。

  循环结构里面还可以包含循环结构,形成多重循环。

  例5    设计一个九九乘法表。

  程序:

   clear

   for  i=1:

9

    for  j=1:

9

     a(i , j)=i*j;

    end

   end 

       a,  

   练习五:

①直接在命令窗编写上面的程序。

      ②试运行下面的程序,并加以分析:

  程序:

 disp(’     九九乘法表 ’),for i=1:

9,

      for j=1:

i,p{i}(j)=j*i;end,disp(p{i}),end  

  

(2) while…end循环结构。

其格式为:

        while  (表达式)

          循环结构体

        end

  例6  求MATLAB的相对精度

  解:

解题的思路是,让y值不断减小,直到MATLAB分不出1+y与1的差别为止。

  程序:

    y=1; while  1+y>1;  y1=y;  y=y/2; end,y1

  说明:

  ①for循环与while循环的区别是,for语句的循环次数是确定的,而while语句的循环次数是不确定的。

  ②一定要注意在循环结构体内设置“修改条件表达式的语句”,以免进入“死循环”。

  ③一旦出现死循环,在命令窗用ctrl+c可使程序中止。

  ④注意程序的可读性。

  练习六:

在M-文件编辑器内编写上面的脚本文件,并利用菜单或快捷按钮运行之。

  三、M-文件

  M文件是包含MATLAB代码的文件。

M文件按其内容和功能可分为脚本M文件和函数M文件这两大类。

  1、脚本M文件

  脚本M文件是许多MATLAB代码按顺序组成的命令集合,不接受参数的输入和输出,与MATLAB工作区共享变量空间。

脚本文件一般用来实现一个相对独立的功能,比如对某个数据集进行某种分析、绘图,求解方程等等。

前面的几个例题都是脚本文件的类型。

  2、函数M文件

  MATLAB的M-函数是由function语句引导的,其基本格式如下:

       function [输出形参列表] = 函数名 (输入形参列表)

       注释说明语句段,由%引导;

       函数体语句

  函数文件需要在M-文件编辑器中编写。

写完以后,按照当前的搜索路径保存。

以后就可以随时调用这个函数了。

  与脚本M文件不同的是,调用函数M文件时需要输入自变量的实际值。

随便打开一个M-文件看一看:

        open lsqlin

  编程实例

  例7. 定义一个函数  f(x)=[sin(x)]2, 其中x以“度”为单位。

然后再调用该函数。

  解:

在M-文件编辑器内写入下面的文件:

    function y=sinsd(x)

    %自变量x以“度”为单位。

    %

    %白城师院

    %数学建模协会,2007-5-12

    a=x/180*pi;

    y=sin(a).^2;

  将上面的文件保存之后即可随时调用。

  命令:

    t=sinsd(45) 

  t =

      0.5000  

  命令:

    help sinsd  

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1