第03讲-MATLAB编程入门.pdf
《第03讲-MATLAB编程入门.pdf》由会员分享,可在线阅读,更多相关《第03讲-MATLAB编程入门.pdf(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、MATLAB 编程入门MATLAB 编程入门 计算机程序就是计算机指令的集合,不同的编程语言,其指令与功能是不一样的.MATLAB 语言是一种面向对象的高级语言,它具有编程效率高、易学易用的优点.计算机程序就是计算机指令的集合,不同的编程语言,其指令与功能是不一样的.MATLAB 语言是一种面向对象的高级语言,它具有编程效率高、易学易用的优点.MATLAB 与其它大部分高级语言一样,有它自己的控制流语句.MATLAB提供如下几种控制流结构:MATLAB 与其它大部分高级语言一样,有它自己的控制流语句.MATLAB提供如下几种控制流结构:一、顺序结构 一、顺序结构 二、循环结构 二、循环结构 三
2、、选择结构 三、选择结构 循环:循环:?For 循环 For 循环?While 循环 While 循环 选择:选择:?If-Else-End 结构 If-Else-End 结构?switch-case-end 结构 switch-case-end 结构 由于这些结构经常包含大量的 MATLAB 命令,故经常出现在 M 文件中.MATLAB支持的控制流语句和C语言支持的控制流语句在调用格式上非常相似.由于这些结构经常包含大量的 MATLAB 命令,故经常出现在 M 文件中.MATLAB支持的控制流语句和C语言支持的控制流语句在调用格式上非常相似.1.For 循环 1.For 循环 For 循环允
3、许一条语句或一组语句被重复执行预先指定的次数。For循环的一般形式是:For 循环允许一条语句或一组语句被重复执行预先指定的次数。For循环的一般形式是:for x=array for x=array 语句 语句 end end 如如:for n=1:10:for n=1:10 x(n)=sin(n*pi/10);x(n)=sin(n*pi/10);end end x x x=x=0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 0.8090 0.5878 0.3090 0.0000 0.3090 0.5878 0.8090 0.9511 1.0000 0.9
4、511 0.8090 0.5878 0.3090 0.0000 注意:注意:(1)For 循环不能用 For 循环内重新赋值循环变量 n 来终止;(1)For 循环不能用 For 循环内重新赋值循环变量 n 来终止;(2)在 For 循环内接受任何有效的 MATLAB 数组;(2)在 For 循环内接受任何有效的 MATLAB 数组;(3)For 循环可按需要进行循环嵌套。(3)For 循环可按需要进行循环嵌套。如:如:For n=1:5 For n=1:5 for m=1:5 for m=1:5 A(n,m)=n2+m2;A(n,m)=n2+m2;end end end end (4)当有一
5、个等效的数组方法来解给定的问题时,应避免用 For 循环。例如,上面的第一个例子可被重写为 (4)当有一个等效的数组方法来解给定的问题时,应避免用 For 循环。例如,上面的第一个例子可被重写为 n=1:10;n=1:10;x=sin(n*pi/10)x=sin(n*pi/10)x=x=0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 0.8090 0.5878 0.3090 0.0000 0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 0.8090 0.5878 0.3090 0.0000 两种方法得出同样的结果,而后者执
6、行更快,更直观,要求较少的输入。两种方法得出同样的结果,而后者执行更快,更直观,要求较少的输入。(5)为了得到最大的速度,在 For 循环(While 循环)被执行之前,应预先分配数组。例如,前面所考虑的第一种情况,在 For 循环内每执行一次命令,变量 x 的大小增加 1。迫使 MATLAB 每通过一次循环要花费时间对 x 分配更多的内存。为了消去这个步骤,For 循环的例子应重写为 (5)为了得到最大的速度,在 For 循环(While 循环)被执行之前,应预先分配数组。例如,前面所考虑的第一种情况,在 For 循环内每执行一次命令,变量 x 的大小增加 1。迫使 MATLAB 每通过一次
7、循环要花费时间对 x 分配更多的内存。为了消去这个步骤,For 循环的例子应重写为 x=zeros(1,10);x=zeros(1,10);for n=1:10 for n=1:10 x(n)=sin(n*pi/10);x(n)=sin(n*pi/10);end end 现在,只有 x(n)的值需要改变。现在,只有 x(n)的值需要改变。例 1 相传古代印度国王要褒奖他的聪明能干的宰相达依尔(国际象棋发明者),问他要什么?达依尔回答:“陛下只要在国际象棋棋盘的第一个格子上放一粒麦子,第二个格子上放二粒麦子,以后每个格子的麦子数都按前一格的两倍计算。如果陛下按此法给我 64 格的麦子,就感激不尽
8、,其他什么也不要了。”国王想:“这还不容易!”让人扛了一袋麦子,例 1 相传古代印度国王要褒奖他的聪明能干的宰相达依尔(国际象棋发明者),问他要什么?达依尔回答:“陛下只要在国际象棋棋盘的第一个格子上放一粒麦子,第二个格子上放二粒麦子,以后每个格子的麦子数都按前一格的两倍计算。如果陛下按此法给我 64 格的麦子,就感激不尽,其他什么也不要了。”国王想:“这还不容易!”让人扛了一袋麦子,但很快用光了,再扛出一袋还不够,请你为国王算一下共要给达依尔多少小麦?(1但很快用光了,再扛出一袋还不够,请你为国王算一下共要给达依尔多少小麦?(1 小麦约小麦约颗)颗)解 麦粒总数为 解 麦粒总数为 程序如下:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 03 MATLAB 编程 入门
限制150内