- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第03讲-MATLAB编程入门
MATLAB 编程入门
计算机程序就是计算机指令的集合,不同的编程语言,其指令与功能
是不一样的.MATLAB 语言是一种面向对象的高级语言,它具有编程效率
高、易学易用的优点.
MATLAB 与其它大部分高级语言一样,有它自己的控制流语句. MATLAB
提供如下几种控制流结构:
一、顺序结构
二、循环结构
三、选择结构
循环:
z For 循环
z While 循环
选择:
z If-Else-End 结构
z switch-case-end 结构
由于这些结构经常包含大量的 MATLAB 命令,故经常出现在 M 文件
中.MATLAB 支持的控制流语句和 C 语言支持的控制流语句在调用格式上非
常相似.
1. For 循环
For 循环允许一条语句或一组语句被重复执行预先指定的次数。For
循环的一般形式是:
for x =array
语句
end
如: for n=1:10
x(n)=sin(n*pi/10);
end
x
x =
0.3090 0.5878 0.8090 0.9511 1.0000 0.9511
0.8090 0.5878 0.3090 0.0000
注意:
(1)For 循环不能用 For 循环内重新赋值循环变量 n 来终止;
(2)在 For 循环内接受任何有效的 MATLAB 数组;
(3)For 循环可按需要进行循环嵌套。
如:
For n=1:5
for m=1:5
A(n,m)=n^2+m^2;
end
end
(4)当有一个等效的数组方法来解给定的问题时,应避免用 For 循环。
例如,上面的第一个例子可被重写为
n=1:10;
x=sin(n*pi/10)
x =
0.3090 0.5878 0.8090 0.9511 1.0000 0.9511
0.8090 0.5878 0.3090 0.0000
两种方法得出同样的结果,而后者执行更快,更直观,要求较少的输入。
(5)为了得到最大的速度,在 For 循环(While 循环)被执行之前,应
预先分配数组。例如,前面所考虑的第一种情况,在 For 循环内每执行一
次命令,变量 x 的大小增加 1。迫使 MATLAB 每通过一次循环要花费时间
对 x 分配更多的内存。为了消去这个步骤,For 循环的例子应重写为
x=zeros(1,10);
for n=1:10
x(n)=sin(n*pi/10);
end
现在,只有 x(n)的值需要改变。
例 1 相传古代印度国王要褒奖他的聪明能干的宰相达依尔(国际象
棋发明者),问他要什么?达依尔回答:“陛下只要在国际象棋棋盘的第
一个格子上放一粒麦子,第二个格子上放二粒麦子,以后每个格子的麦子
数都按前一格的两倍计算。如果陛下按此法给我 64 格的麦子,就感激不
尽,其他什么也不要了。”国王想:“这还不容易!”让人扛了一袋麦子,
但很快用光了,再扛出一袋还不够,请你为国王算一下共要给达依尔多少
小麦?(1 小麦约 颗)
解 麦粒总数为
程序如下:
a=1;
s=0
for i=1:64
s=s+a;
a=2*a;
end
s=s/1.4/10^8
运行后得:
s=
1.3176e+011
例2 公元前五世纪我国古代数学家张丘建在《算经》一书中提出了
“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买
文档评论(0)