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