欢迎来到天天文库
浏览记录
ID:48415753
大小:341.00 KB
页数:34页
时间:2020-01-19
《讲稿-程序设计-MATLAB入门.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、MATLAB入门第三部分程序设计一、关系运算、逻辑运算二、程序结构与控制三、M文件二、程序结构与控制语句控制语句:for…end循环、while…end循环、if-else-end、Swich语句顺序结构(按照顺序执行命令)循环结构分支结构理论上有了以上3种结构就可以构造功能强大的程序。由于matlab是C语言编成的,它的控制语句也同C语言有相似之处,但是又有不同之处程序结构:1、顺序结构它是按照顺序执行命令。inputdisppause(或Ctrl+C)eg1.x=input('inputx,please:');y=input('inputy,pleas
2、e:');z=x;x=y;y=z;disp(x);disp(y);Eg2.x=1:50;y=reshape(x,10,5);z=y';n=input('请输入显示次数:');t=input('请输入间隔时间:');fori=1:ndisp('x=1-50')disp(z)pause(t)end(1)for循环:允许一组命令以固定的和预定的次数重复forx=array{commands}end在for和end语句之间的命令串{commands}按数组(array)中的每一列执行一次.在每一次迭代中,x被指定为数组的下一列,即在第n次循环中,x=array(:
3、,n).也可嵌套使用。2.循环结构循环是计算机解决问题的主要手段,许许多多实际问题大都包含有规律性的重复计算和对某些语句的重复执行。eg2.1+…+100eg3.1-20阶乘累加和eg4.p30双重循环实现希尔伯特矩阵eg1.对n=1,2,…,10,求xn=的值.eg2.1+…+100程序:s=0;fori=1:100s=s+i;ends法1:s=0;p=1;fori=1:20p=p*i;s=s+p;endseg3.1-20阶乘累加和法2:s=0;fori=1:20p=1;fork=1:ip=p*k;ends=s+p;ends法3:s=0;fori=1:2
4、0s=s+prod(1:i);endsEg1.forn=1:10x(n)=sin(n*pi/10);endxEg4(见p30)fori=1:3forj=1:4a(i,j)=1/(i+j-1);endendaa=11/21/31/41/21/31/41/51/31/41/51/6while(expression){commands}end只要在表达式(expression)里的所有元素为真,就执行while和end语句之间的命令串{commands}.表达式一般由逻辑、关系运算以及一般的运算组成。(2)While循环与for循环以固定次数求一组命令相反,wh
5、ile循环以不定的次数求一组语句的值.eg2.找MATLAB软件最小的正数(预定义的)。P30num=0;EPS=1;while(1+EPS)>1EPS=EPS/2;num=num+1;endnumEPS=2*EPSeg1:设银行年利率为11.25%.将10000元钱存入银行,问多长时间会连本带利翻一番?money=10000years=0whilemoney<20000years=years+1;money=money*(1+11.25/100);endyearsmoney分析:Fibonacci数组的元素满足Fibonacci规则:现要求该数组中第一个
6、大于10000的元素。程序:a(1)=1;a(2)=1;i=2;whilea(i)<=10000a(i+1)=a(i-1)+a(i);%当现有的元素仍小于10000时,求解下一个元素。i=i+1;end;ia(i),Eg3.寻Fibonacci数组第一个大于10000的元素及位置。3.(选择)分支结构3.1if-else-end结构i)有一个选择的一般形式是:if(expression){commands}end如果在表达式(expression)里的所有元素为真,就执行if和end语句之间的命令串{commands}.x=input('x=')ifx>1
7、f=x^2+1endifx<=1f=2*xend另:x=[2,1]fori=1:2ifx(i)>1f=x(i)^2+1endifx(i)<=1f=2*x(i)endendii)有三个或更多的选择的一般形式是:if(expression1){commands1}elseif(expression2){commands2}elseif(expression3){commands3}elseif………………………………………else{commands}endendend……endeg2.打折问题.程序:cost=3;number=input('number=')
8、;ifnumber<10sums=number*cost;else
此文档下载收益归作者所有