欢迎来到天天文库
浏览记录
ID:36195300
大小:338.50 KB
页数:29页
时间:2019-05-07
《2010-3循环语句》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数学实验三MATLAB循环语句MATLAB语言编程介绍MATLAB中各种命令可以完成许多单一的任务,对于某些较为复杂的问题,仅靠现有的命令或函数来解决,往往是难以达到目的。为此,要运用MATLAB编程语言编制程序,形成M-文件。程序是使计算机完成各项运算的命令集,运行一个编制好的程序,计算机会从第一条命令行开始,一行接一行地执行相应的命令,直到终止。程序编写调试完成后,需要存盘,形成永久性文件,可以随时对它进行调用或修改。文件名以字母开头,但不能用专用变量名,如pi,ans,eps等。程序结构程序一般包含:a
2、=input('请输入数组a[n]=');[m,n]=size(a);M=a(1);fori=2:nifM3、printf('x=%.0f,y=%.5f',pi,pi);disp([a,b]);fprintf('x=%5.0f,y=%10.5f',pi,pi);一.For语句格式:fori=n1:(step):n2commands;end作用:i从n1开始,执行命令集commands,遇到end,i=i+step,重复执行,直到i>n2.省略格式:fori=n1:n2这里step=1.例1:求n个奇数和:s=1+3+5+…+(2n-1)n=input(‘pleaseinputn=');s=0;fori=1:n4、s=s+(2*i-1);fprintf('i=%.0f,s=%.0f',i,s);end程序wp31例2:求阶乘:p=1×2×3×…×n=n!n=input('请输入n=');p=1;fori=1:np=p*i;fprintf('i=%.0f,p=%.0f',i,p);endwp32例3:求e:e=1+1+1/2!+1/3!+…+1/n!n=input('请输入n=');p=1;e=1;fori=1:np=p*i;p1=1/p;e=e+p1;fprintf('i=%.0f,p=%.0f,e=%.8f5、n',i,p,e);endwp33二.While语句格式:while(conditionistrue)commands;end作用:当条件成立时,执行命令集commands,直到条件不成立.例4:求和:s=1+2+…+n<3000s=0;k=1;whiles+k<3000s=s+k;fprintf('k=%.0f,s=%.0f',k,s);k=k+1;endwp34例5:求e:e=1+1+1/2!+1/3!+…(1/n!<1.0e-8)p=1;e=1;r=1;i=1;whiler>=1.0e-8p=p*i6、;r=1/p;e=e+r;fprintf('i=%.0f,r=%.9f,e=%.9f',i,r,e);i=i+1;endwp35三.选择控制命令(if)单项选择控制格式:if(conditionistrue)commands;end作用:若条件成立,则执行命令集commands.否则,不执行。例6:求n个实数中最大的数M.a=input('请输入数组a[n]=');[m,n]=size(a);M=a(1);fori=2:nifM7、;wp36四.多项选择控制命令(if)多项选择控制格式:if(conditionistrue)commands;elseif(conditionistrue)commands;elsecommands;end作用:若条件成立,则执行命令集commands.否则,不执行。例7:求函数y=x2sgn(x)的值x=input(‘pleaseinputx=‘)ifx>0z=1;elseifx==0z=0;elsez=-1;endy=x^2*zwp37五.定义函数格式function[y1,y2]=funname(x,8、y,a,n)其中:function为关键字;[y1,y2,…]为输出列表;funname为自定义的函数名;(x,y,a,n,…)为函数参数,用来传递相关数值.存盘时,要求用funname作为函数名.例7:建立符号函数sgn(x)functionsn=sgn(x)ifx>0sn=1;elseifx==0sn=0;elsesn=-1;end以sgn作为文件名存盘,即建立了函数。调用:在命令区执行:sn=
3、printf('x=%.0f,y=%.5f',pi,pi);disp([a,b]);fprintf('x=%5.0f,y=%10.5f',pi,pi);一.For语句格式:fori=n1:(step):n2commands;end作用:i从n1开始,执行命令集commands,遇到end,i=i+step,重复执行,直到i>n2.省略格式:fori=n1:n2这里step=1.例1:求n个奇数和:s=1+3+5+…+(2n-1)n=input(‘pleaseinputn=');s=0;fori=1:n
4、s=s+(2*i-1);fprintf('i=%.0f,s=%.0f',i,s);end程序wp31例2:求阶乘:p=1×2×3×…×n=n!n=input('请输入n=');p=1;fori=1:np=p*i;fprintf('i=%.0f,p=%.0f',i,p);endwp32例3:求e:e=1+1+1/2!+1/3!+…+1/n!n=input('请输入n=');p=1;e=1;fori=1:np=p*i;p1=1/p;e=e+p1;fprintf('i=%.0f,p=%.0f,e=%.8f
5、n',i,p,e);endwp33二.While语句格式:while(conditionistrue)commands;end作用:当条件成立时,执行命令集commands,直到条件不成立.例4:求和:s=1+2+…+n<3000s=0;k=1;whiles+k<3000s=s+k;fprintf('k=%.0f,s=%.0f',k,s);k=k+1;endwp34例5:求e:e=1+1+1/2!+1/3!+…(1/n!<1.0e-8)p=1;e=1;r=1;i=1;whiler>=1.0e-8p=p*i
6、;r=1/p;e=e+r;fprintf('i=%.0f,r=%.9f,e=%.9f',i,r,e);i=i+1;endwp35三.选择控制命令(if)单项选择控制格式:if(conditionistrue)commands;end作用:若条件成立,则执行命令集commands.否则,不执行。例6:求n个实数中最大的数M.a=input('请输入数组a[n]=');[m,n]=size(a);M=a(1);fori=2:nifM7、;wp36四.多项选择控制命令(if)多项选择控制格式:if(conditionistrue)commands;elseif(conditionistrue)commands;elsecommands;end作用:若条件成立,则执行命令集commands.否则,不执行。例7:求函数y=x2sgn(x)的值x=input(‘pleaseinputx=‘)ifx>0z=1;elseifx==0z=0;elsez=-1;endy=x^2*zwp37五.定义函数格式function[y1,y2]=funname(x,8、y,a,n)其中:function为关键字;[y1,y2,…]为输出列表;funname为自定义的函数名;(x,y,a,n,…)为函数参数,用来传递相关数值.存盘时,要求用funname作为函数名.例7:建立符号函数sgn(x)functionsn=sgn(x)ifx>0sn=1;elseifx==0sn=0;elsesn=-1;end以sgn作为文件名存盘,即建立了函数。调用:在命令区执行:sn=
7、;wp36四.多项选择控制命令(if)多项选择控制格式:if(conditionistrue)commands;elseif(conditionistrue)commands;elsecommands;end作用:若条件成立,则执行命令集commands.否则,不执行。例7:求函数y=x2sgn(x)的值x=input(‘pleaseinputx=‘)ifx>0z=1;elseifx==0z=0;elsez=-1;endy=x^2*zwp37五.定义函数格式function[y1,y2]=funname(x,
8、y,a,n)其中:function为关键字;[y1,y2,…]为输出列表;funname为自定义的函数名;(x,y,a,n,…)为函数参数,用来传递相关数值.存盘时,要求用funname作为函数名.例7:建立符号函数sgn(x)functionsn=sgn(x)ifx>0sn=1;elseifx==0sn=0;elsesn=-1;end以sgn作为文件名存盘,即建立了函数。调用:在命令区执行:sn=
此文档下载收益归作者所有