如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
MATLAB语言编程介绍注意:运行M-文件matlab程序的基本结构M-文件中输入命令M-文件中输出命令Matlab提供了三种基本的程序结构:顺序结构循环结构选择结构有多种控制程序流程的语句,包括for,while,if,switch,try,continue,break,reture等。M-文件中循环控制命令(for命令)有限次循环for-end结构例1:求n个奇数和:s=1+3+5+…+(2n-1)n=input(‘pleaseinputn=');s=0;fori=1:ns=s+(2*i-1);fprintf('i=%.0f,s=%.0f\n',i,s);endzhao41问题:如何只显示最终求和结果?例2:求阶乘:p=1×2×3×…×n=n!n=input('请输入n=');p=1;fori=1:np=p*i;fprintf('i=%.0f,p=%.0f\n',i,p);endzhao42.m例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\n',i,p,e);endzhao43.m问题:如何修改程序使其根据近似值的精度自动控制循环次数?M-文件中条件循环命令(while命令)程序流程图例4:求s=1+2+…+n<3000时的n、s的值。s=0;k=1;whiles+k<3000s=s+k;fprintf('k=%.0f,s=%.0f\n',k,s);k=k+1;endzhao44.m例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;r=1/p;e=e+r;fprintf('i=%.0f,r=%.9f,e=%.9f\n',i,r,e);i=i+1;endzhao45.mM-文件中选择控制命令(if命令)例6:求n个实数中最大的数M.a=input('请输入数组a[n]=');[m,n]=size(a);M=a(1);fori=2:nifM<a(i)M=a(i);endendfprintf('M=%.5f\n',M);zhao46.m问题:如何修改程序,显示最大元素所在的位置?M-文件中选择控制命令(if命令)例7:求函数y=x2sgn(x)的值x=input(‘pleaseinputx=‘)ifx>0z=1;elseifx==0z=0;elsez=-1;endy=x^2*zzhao47.m用M-文件定义函数例7:建立符号函数sgn(x)functionsn=sgn(x)ifx>0sn=1;elseifx==0sn=0;elsesn=-1;end以sgn作为文件名存盘,即建立了函数。调用:在命令区执行:sn=sgn(10)或sn=sgn(-2)例8:建立计算(a+b)^n,(a-b)^n的函数例9编制程序,从键盘输入a,b,n,计算(a+b)^n,(a-b)^nzhao48.mMatlab程序流程控制break语句格式if(conditions)return;end作用:当执行到if模块且条件为真时,执行return语句,程序则被终止,提前结束程序的运行。作用:使程序暂停运行,等待用户按任意键继续。使用方法:(1)直接使用pause;(2)pause(n),表示暂停n秒后继续执行程序,n代表暂停时间。它通常可以用来放慢程序运行展示内部过程,可实现动画效果。数值计算问题举例例1:用二分法求函数x^2-2=0的正实根.输入初值:a=1;b=2;K=1000;er=1.0e-8;f=inline('x.^2-2');k=1;c=(a+b)/2;whilek<Kr=c;ifabs(f(r))<1.0e-10fprintf('k=%.0f,r=%.8f\n',k,r);break;end1.每门课程考试阅卷完毕,任课教师都要对各班的考试成绩进行统计,统计内容包括:全班人数,总得分,平均得分,不及格的人数及90分(包括90分)以上的人数.请编制程序解决这一问题,并自给一组数据验证程序的正确性.要求:使用者在提示下通过键盘输入学生成绩,计算机自动处理后,显示需要的结果.2.根据我国个人所得税计算方法,编制程序,要求:使用者在系统提示下通过键盘输入月工资薪金收入总数,计算机则在屏幕上显示个人所得税额,界面友好,方便使用.个人所得税计算方法:月个人所得税=(月工资