- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
matlabfinalmatlab教程
Matlab编程(M文件)
北京理工大学信息科学技术学院 徐贵航
xu.guihang@163.com
为什么要用到M文件:
命令窗口中输入的指令是输入一行运行一行,这样对一些并不是顺序执行的(条件执行和循环执行)指令非常不利;即使顺序执行,如果程序较长,也很难调试与纠错;
Matlab中的自编函数要通过M文件实现。
认识M文本编辑器:
打开方式:1、file\new\m-file;
2、直接点击工具栏的“新建”图标;
3、在命令窗口中输入edit。
文本编辑器英文为“editor/debugger”,它兼有编辑与调试的作用。大部分菜单与工具栏与普通编辑器相同。
执行、单步等操作在debug菜单下;
断点、报错等设置在breakpoint菜单下;
Matlab控制流及编程关键字
For循环
与C语言中对比:
Matlab C语言 For i=1:n
指令语句;
end for(i=10;i=n;i++)
{
循环体;
} 举例:for_example.m(%后为注释)
for i=0:pi/50:2*pi %循环变量
x=2*sin(i);
y=2*cos(i); %圆心位置
t=0:pi/100:2*pi;
xx=x+sin(t);
yy=y+cos(t);
plot(xx,yy) %以(x,y)为中心画园
hold on %维持原来图形不变,在图形窗内添加其他图形
end 运行结果:
while循环
语法格式:(与C语言对比)
Matlab C while 表达式
循环体;
end while(表达式)
{
循环体;
}
if-else-end分支结构:
语法格式:
Matlab C if 表达式1
指令1;
elseif 表达式2
指令2;
else
指令3;
end if(表达式1)
{指令1;}
else
{
if(表达式2)
{指令2;}
} 为节省空间,C语言部分格式不太规范。与C相比,Matlab多了一个elseif关键字,使得分支更加灵活简洁。
其他
break:与C语言相同;
switch……case:与C语言基本相同,不过执行完每一种情况后自动跳出(C语言则接着往下执行);
try……catch:与C++相同,一般用的不多;
pause:执行到该指令后,程序停止,等用户按任意建开始;
pause(n)停留n秒
M文件函数的编写:
Matlab中函数以关键字function为标志,并且只能在文本编辑器中编辑。函数返回指令为return;在函数体中可以有循环、分支与函数调用,并且允许自己调用自己(递归)。下面以实现加法为例,比较Matlab函数与C++函数(C函数比C++麻烦一点)
Matlab C++ function c=my_add(a,b)
%my_add 加法函数,格式为c=my_add(a,b)
%返回两参数的和
c=a+b;
return %在最后的return可不要 int my_add(int a,int b)
{
c=a+b;
return(c);
} 在以function为开头的函数格式定义后,最好有关于这个函数及其用法的详细说明,在命令窗口中运行“help 函数名”,可以显示这些内容。
在文本编辑器中完成M函数的编写后,要以扩展名为“.m”的格式保存,文件名最好是函数名(不然Matlab会认为函数名无效,而以文件名代替)。为了让Matlab能够找到该函数,该函数必须保存在“当前目录”下,在Matlab6.5(??6.1)中该目录在工具栏后并且有一个单独的窗口显示其中文件。如果没有该窗口,可通过\view\desktop layout\default调出。对于早期版本,可以通过在命令窗口输入“cd”察看,并通过类似于DOS的方法更改。
在正确保存该文件后,在命令窗口中输入“my_add(参数一,参数二)”可以返回计算结果,其中参数一、参数二可以是常数和变量。
下面举一个用Matlab实现递归的例子,计算“费波那契(fibonacci)数列”,fabonacci数列是离散系统中很经典的数列,其定义为:
a(0)=a(1)=1;
a(n)=a(n-1)+a(n-2); (n1)
fabnacci.m
function x=fb(n);
%计算fibonacci数列
if(n==1|n==0)
x=1;
else
x=fb(n-1)+fb(n-2);
end 在命令窗口中输入fibonacci(整数),即可得到
文档评论(0)