3-Matlab编程.ppt

上传人:qwe****56 文档编号:70007497 上传时间:2023-01-14 格式:PPT 页数:38 大小:365.50KB
返回 下载 相关 举报
3-Matlab编程.ppt_第1页
第1页 / 共38页
3-Matlab编程.ppt_第2页
第2页 / 共38页
点击查看更多>>
资源描述

《3-Matlab编程.ppt》由会员分享,可在线阅读,更多相关《3-Matlab编程.ppt(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、MATLAB语言编程语言编程介绍介绍nMATLABMATLAB中各种命令可以完成许多单一的任务,中各种命令可以完成许多单一的任务,对于某些较为复杂的问题,仅靠现有的命令对于某些较为复杂的问题,仅靠现有的命令或函数来解决,往往是难以达到目的。为此,或函数来解决,往往是难以达到目的。为此,要运用要运用MATLABMATLAB编程语言编制程序,形成编程语言编制程序,形成M-M-文文件。件。n程序是使计算机完成各项运算的命令集,运程序是使计算机完成各项运算的命令集,运行一个编制好的程序,计算机会从第一条命行一个编制好的程序,计算机会从第一条命令行开始,一行接一行地执行相应的命令,令行开始,一行接一行地

2、执行相应的命令,直到终止。直到终止。n程序编写调试完成后,需要存盘,形成永久程序编写调试完成后,需要存盘,形成永久性文件,可以随时对它进行调用或修改。性文件,可以随时对它进行调用或修改。注意:注意:n文件名以字母开头中间不含空格和标点符文件名以字母开头中间不含空格和标点符号的字符串,不能用汉字、数字和专用变号的字符串,不能用汉字、数字和专用变量名,如量名,如pi,ans,epspi,ans,eps等。等。n程序通常保存在文件夹:程序通常保存在文件夹:matlab6p5workmatlab6p5work 中,这是中,这是matlabmatlab默认路径。若要存放在其默认路径。若要存放在其他文件夹

3、中,需要添加该路径到路径设置他文件夹中,需要添加该路径到路径设置中,否则程序不能连接执行。中,否则程序不能连接执行。运行运行M-文件文件n在编辑窗口对正在编辑的在编辑窗口对正在编辑的M-M-文件,保存后文件,保存后可直接点击菜单上的可直接点击菜单上的DebugDebug中的中的RunRun命令,命令,或者直接按或者直接按F5F5,即可运行当前程序。其运,即可运行当前程序。其运行结果或信息显示在命令窗口。行结果或信息显示在命令窗口。n在命令窗口中直接输入文件名回车,即可在命令窗口中直接输入文件名回车,即可运行相应的运行相应的M-M-文件。文件。matlab程序的基本结构程序的基本结构程序一般包含

4、:程序一般包含:a=input(请输入数组请输入数组an=);m,n=size(a);M=a(1);fori=2:nifMn2.n省略格式:省略格式:fori=n1:n2这里这里step=1.n例例1:求:求n个奇数和:个奇数和:s=1+3+5+(2n-1)n=input(pleaseinputn=);s=0;fori=1:ns=s+(2*i-1);fprintf(i=%.0f,s=%.0fn,i,s);endzhao41问题:如何只显示最终求和结果?问题:如何只显示最终求和结果?n例例2:求阶乘:求阶乘:p=123n=n!n=input(请输入请输入n=);p=1;fori=1:np=p*i

5、;fprintf(i=%.0f,p=%.0fn,i,p);endzhao42.mn例例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=%.8fn,i,p,e);endzhao43.m问题:如何修改程序使其根据近似值的精度自动控问题:如何修改程序使其根据近似值的精度自动控制循环次数?制循环次数?M-文件中条件循环命令文件中条件循环命令(while命令命令)n格式:格式:while(conditionistrue)commands;end

6、n作用:作用:当条件成立时,执行命令集当条件成立时,执行命令集commands,遇到,遇到end时,自动检测条时,自动检测条件,直到条件不成立件,直到条件不成立.n注意注意(1)要确保在执行了一定次数之后可以结束循)要确保在执行了一定次数之后可以结束循环,否则就成了环,否则就成了“死循环死循环”;(2)结构中)结构中while与与end要成对出现。要成对出现。程序流程图赋初值k0,a0,b0,条件语句NoYes执行循环体命令更新变量执行循环体外指令k=k+1n例例4:求:求s=1+2+n3000时的时的n、s的值。的值。ns=0;k=1;whiles+k3000s=s+k;fprintf(k=

7、%.0f,s=%.0fn,k,s);k=k+1;endzhao44.mn例例5:求:求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=%.9fn,i,r,e);i=i+1;endzhao45.mM-文件中选择控制命令文件中选择控制命令(if命令命令)n单项选择控制(单项选择控制(if-end)n格式:格式:if(conditionistrue)commands;endn作用:若条件成立,则执行命令集作用:若条件成立,则执行命令集commands.否则,跳过否则,跳过commands,直接执行后面的命

8、令。,直接执行后面的命令。n例例6:求:求n个实数中最大的数个实数中最大的数M.a=input(请输入数组请输入数组an=);m,n=size(a);M=a(1);fori=2:nifM0z=1;elseifx=0z=0;elsez=-1;endy=x2*zzhao47.m用用M-文件定义函数文件定义函数n格式格式functiony1,y2=funname(x,y,a,n)n其中其中:function为关键字;为关键字;y1,y2,为输出列表;为输出列表;funname为自定义的函数名;为自定义的函数名;(x,y,a,n,)为函数参数,用来传递相为函数参数,用来传递相关数值关数值.n存盘时,要

9、求用存盘时,要求用funname作为函数名作为函数名.n例例7:建立符号函数:建立符号函数sgn(x)functionsn=sgn(x)ifx0sn=1;elseifx=0sn=0;elsesn=-1;end以以sgn作为文件名存盘,即建立了函数。作为文件名存盘,即建立了函数。n调用:调用:在命令区执行在命令区执行:sn=sgn(10)或或sn=sgn(-2)n例例8:建立计算:建立计算(a+b)n,(a-b)n的函数的函数functionp,q=fun1(a,b,n)p=(a+b).n;q=(a-b).n;fun1.m例编制程序,从键盘输入例编制程序,从键盘输入a,b,n,计计算算(a+b)

10、n,(a-b)nzhao48.ma=input(a=)b=input(b=)n=input(n=)p,q=fun1(a,b,n);fprintf(a+b)n=%.4f,(a-b)n=%.4fn,p,q)Matlab程序流程控制程序流程控制n在编写程序时,根据问题求解的要求,往在编写程序时,根据问题求解的要求,往往需要在一定条件下跳出当前循环,或终往需要在一定条件下跳出当前循环,或终止程序运行,或暂停程序运行等,这就要止程序运行,或暂停程序运行等,这就要在编制程序过程中对程序流程进行控制。在编制程序过程中对程序流程进行控制。nMatlab提供了流程控制语句:提供了流程控制语句:break,ret

11、urn,pause等。等。break语句语句n格式:格式:while(conditions-1)if(conditions-2)break;endendn作用:当执行到作用:当执行到if模块且条件为真时,执行模块且条件为真时,执行break语句,程序则跳出当前语句,程序则跳出当前while循环,循环,直接执行循环结构外的直接执行循环结构外的commands。n格式格式if(conditions)return;endn作用:当执行到作用:当执行到if模块且条件为真时,执行模块且条件为真时,执行return语句,程序则被终止,提前结束程序语句,程序则被终止,提前结束程序的运行。的运行。return

12、语句语句n作用:使程序暂停运行,等待用户按任意键继作用:使程序暂停运行,等待用户按任意键继续。续。n使用方法:使用方法:(1)直接使用)直接使用pause;(2)pause(n),表示暂停,表示暂停n秒后继续执行程序,秒后继续执行程序,n代表暂停时间。它通常可以用来放慢程序运代表暂停时间。它通常可以用来放慢程序运行展示内部过程,可实现动画效果。行展示内部过程,可实现动画效果。pause语句语句数值计算问题举例数值计算问题举例n问题:求无理数的近似值问题:求无理数的近似值 先先求求 的的近近似似值值,再再设设计计通通用用函数函数.n例例1:用二分法求函数:用二分法求函数x2-2=0的正实根的正实

13、根.输入初值输入初值:输出结果:输出结果:STOPNoNoNoYesYesYesa=1;b=2;K=1000;er=1.0e-8;f=inline(x.2-2);k=1;c=(a+b)/2;whilekKr=c;ifabs(f(r)1.0e-10fprintf(k=%.0f,r=%.8fn,k,r);break;endiff(a)*f(r)0b=r;elsea=r;endc=(a+b)/2;fprintf(k=%.0f,r=%.8fn,k,r);ifabs(r-c)erbreak;endk=k+1;endzhao49.m1.1.每门课程考试阅卷完毕每门课程考试阅卷完毕,任课教师都要对各班的任课

14、教师都要对各班的考试成绩进行统计考试成绩进行统计,统计内容包括统计内容包括:全班人数全班人数,总得总得分分,平均得分平均得分,不及格的人数及不及格的人数及9090分分(包括包括9090分分)以以上的人数上的人数.请编制程序解决这一问题请编制程序解决这一问题,并自给一组并自给一组数据验证程序的正确性数据验证程序的正确性.要求要求:使用者在提示下通使用者在提示下通过键盘输入学生成绩过键盘输入学生成绩,计算机自动处理后计算机自动处理后,显示需显示需要的结果要的结果.本次实验任务本次实验任务-,任选题任选题;,任任选题;选题;数学实验数学实验P27.第第1题任选题任选1问,问,提交能够正确运行并附有结

15、果的程序提交能够正确运行并附有结果的程序2.2.根据我国个人所得税计算方法根据我国个人所得税计算方法,编制程序编制程序,要求要求:使使用者在系统提示下通过键盘输入月工资薪金收入总用者在系统提示下通过键盘输入月工资薪金收入总数数,计算机则在屏幕上显示个人所得税额计算机则在屏幕上显示个人所得税额,界面友好界面友好,方便使用方便使用.个人所得税计算方法个人所得税计算方法:月个人所得税(月工资薪金收入月个人所得税(月工资薪金收入20002000)*适适用税率速算扣除数用税率速算扣除数附表:个人所得税税率表(工资、薪金所得适用)附表:个人所得税税率表(工资、薪金所得适用)个人所得税税率表(工资、薪金所得

16、适用)个人所得税税率表(工资、薪金所得适用)级级 数数 全月应纳税所得额全月应纳税所得额 税率()税率()税率税率 速算扣除数速算扣除数1 1 不超过不超过500500元的元的 5 52 2 超过超过500500元至元至20002000元的部分元的部分 1010 25253 3 超过超过20002000元至元至50005000元的部分元的部分 1515 1251254 4 超过超过50005000元至元至2000020000元的部分元的部分 2020 3753755 5 超过超过2000020000元至元至4000040000元的部分元的部分 2525 137513756 6 超过超过4000

17、040000元至元至6000060000元的部分元的部分 3030 337533757 7 超过超过6000060000元至元至8000080000元的部分元的部分 3535 637563758 8 超过超过8000080000元至元至100000100000元的部分元的部分 4040 10375103759 9 超过超过100000100000元的部分元的部分 4545 1537515375、任给一个自然数、任给一个自然数n n,写出,写出1 1到到n n之间所有能够之间所有能够表示成连续若干个自然数的和的数及其所有表表示成连续若干个自然数的和的数及其所有表示方法示方法、求,中同时满足下列条

18、件的数、求,中同时满足下列条件的数()该数各位数字之和为奇数()该数各位数字之和为奇数()该数是素数()该数是素数5 5、编写程序,实现猜数游戏、编写程序,实现猜数游戏 首先由计算机随机产生一个首先由计算机随机产生一个 1,100 1,100 之间之间的一个整数,然后由用户猜测所产生的这个的一个整数,然后由用户猜测所产生的这个数。根据用户猜测的情况给出不同的提示,数。根据用户猜测的情况给出不同的提示,如果猜测的数大于产生的数,则显示如果猜测的数大于产生的数,则显示 “High”High”,小于则显示,小于则显示“Low”Low”,等于,等于则显示则显示“You wonYou won!”,同时退出游戏。用,同时退出游戏。用户最多有户最多有 7 7 次机会。次机会。a=1.;b=2.;r=1.0e-7;ya=fc1(a);yb=fc1(b);k=1;ifabs(ya)rroot=a;fprintf(k=%.0f,Rootx=%.4f,f(x)=%12.7fn,k,root,ya);return;endifabs(yb)=rifya*yz0b=z;yb=yz;elsea=z;ya=yz;endz=(a+b)/2;yz=fc1(z);fprintf(k=%.0f,x=%.8f,f(x)=%12.7fn,k,z,yz);k=k+1;endzhao410.m

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁