1、MATLAB中各种命令可以完成许多单一的任务,对于某些较为复杂的问题,仅靠现有的命令或函数来解决,往往是难以达到目的 。为此,要运用MATLAB编程语言编制程序,形成M-文件。 程序是使计算机完成各项运算的命令集,运行一个编制好的程序,计算机会从第一条命令行开始,一行接一行地执行相应的命令,直到终止。 程序一般包含:数据输入,数据处理和结果输出三部分,其中数据处理是核心。程序编写调试完成后,需要存盘,形成永久性文件,可以随时对它进行调用或修改。文件名以字母开头,但不能用专用变量名,如pi等。 MATLAB中每一个命令都是一个M-文件。,M-文件中输入、输出命令,直接赋值输入: 提示对话输入(i
2、nput命令)x=2; x=input(请输入参数 x=); a=1,2;3,4; a=input(请输入矩阵 a=); s= any string!; s=input(Please input s=); 直接输出: 格式控制输出(fprintf命令)x fprintf(x=%.0f, y=%.5fn,pi,pi);disp(a,b); fprintf(x=%5g, y=%10.5gn,N,pi);,M-文件中循环控制命令(for命令),格式: for i=n1:(step):n2commands; end 作用:重复执行命令集commands.,例2:求奇数和:s=1+3+5+(2k-1)n
3、=input(请输入 n=);s=0;for i=1:2:ns=s+i;fprintf(i=%.0f, s=%.0fn,i,s);end,例1:求和:s=1+2+nn=input(请输入 n=);s=0;for i=1:ns=s+i;fprintf(i=%.0f, s=%.0fn,i,s);end,例3:求阶乘:p=12 3 n=n!n=input(请输入 n= );p=1;for i=1:np=p*i;fprintf( i=%.0f, p=%.0fn ,i,p);end,例4:求e:e=1+1+1/2!+1/3!+1/n!n=input(请输入 n= );p=1;e=1;for i=1:np
4、=p*i;p1=1/p;e=e+p1;fprintf( i=%.0f, p=%.0f, e=%.8f n ,i,p,e);end,例5:求pi:pi/4=1-1/3+1/5-1/7+1/9-1/11+n=input(请输入 n= );pi=0;k=-1;for i=1:2:nk=(-1)*k;pi=pi+k*1/i;fprintf( i=%.0f, pi=%.8f n ,i,4*pi);end,M-文件中条件循环命令(while命令),格式: while (condition is true)commands; end 作用:重复执行命令集commands.,例6:求和:s=1+2+n3000
5、s=0;k=1;while s3000s=s+k;fprintf( k=%.0f, s=%.0fn ,k,s);k=k+1;end,例7:求e:e=1+1+1/2!+1/3!+ (1/n!=1.0e-8p=p*i;r=1/p;e=e+r;fprintf( i=%.0f, r=%.9f, e=%.9f n ,i,r,e);i=i+1;end,M-文件中选择控制命令(if命令),单项选择控制 格式: if (condition is true)commands; end 作用:若条件成立,则执行命令集 commands. 否则,不执行。,例8:求n个实数中最大的数M.a=input(请输入数组 a
6、n= );m,n=size(a);M=a(1);for i=2:nif Ma(i)M=a(i);endfprintf( M=%.5f, a(%.0f)=%.5f n ,M,i,a(i);end,M-文件中选择控制命令(if命令),多项选择控制 格式: if (condition is true)commands; elseif (condition is true)commands; else commands;end 作用:若条件成立,则执行命令集 commands. 否则,不执行。,例9:建立符号函数sign(x) x=input(x=); if x0sn=1; elseif x=0sn=
7、0; elsesn=-1; end fprintf(x=%.5f, sn=%.0fn,x,sn);,数值计算问题,问题1:求无理数的近似值先求 的近似值,再设计通用程序.问题2:用两种方法求Pi的近似值,例10:用二分法求函数x2-2=0的正实根.,输入初值:,输出结果:STOP,No,No,No,Yes,Yes,Yes,例11:用切线法求函数x2-2=0的正实根.,例12:用泰勒公式求pi的近似值。,特点:收敛速度慢,循环次数多.,例13:用梯形求积公式求pi的近似值。,2)梯形公式,3)复化梯形公式,例14:用Simpson求积公式求pi的近似值。,1) 辛普生公式,2)辛普生公式与梯形公式的关系,